Java连载78-深入自动拆装箱、Date类和SimpleDate…

2020-01-30 16:03:18来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Java连载78-深入自动拆装箱、Date类和SimpleDateFormat格式化

一、深入自动拆装箱

1.直接举例:

public class D78_AutomaticUnpackingAndPacking{
  public static void main(String[] args){
    Integer i1 = new Integer(10);
    Integer i2 = new Integer(10);
    //这里不会自动进行拆箱
    System.out.println(i1==i2);//false
    //比较两个Integer类型的数据是否相等,不能用“=="
    //Integer已经重写了Object中的equals方法
    System.out.println(i1.equals(i2));//true
    //重点:
    Integer i3 = 128;
    Integer i4 = 128;
    //上面的等同于:
    //Integer i3 = new Integer(128);
    //Integer i4 = new Integer(128);
    System.out.println(i3==i4);//false
    
    Integer i5 = 127;//这条语句直接在方法区的整形常量池中拿来,不会再堆内存中创建这个对象
    Integer i6 = 127;
    System.out.println(i5==i6);//true
?
    Integer i5 = -128;
    Integer i6 = -128;
    System.out.println(i5==i6);//true
?
    Integer i5 = -129;
    Integer i6 = -129;
    System.out.println(i5==i6);//false
?
    //如果数据是在-128到127之间,java中引入了”整形常量池“(可以类比字符串常量池)
    
    String s1 = "ab";
    String s2 = "ab";
    System.out.println(s1==s2);//true,原因就是字符串常量池   
  }
}


二、日期相关的操作

1.获取当前时间

java.util.Date

import java.util.Date;
import java.text.SimpleDateFormat;
?
public class D78_2_{
  public static void main(String[] args) throws Exception{
    //之所以要抛出异常,是因为String转换为Date的时候容易报错
    //获取自1970年1月1日 00时00分00秒000毫秒到当前的毫秒数
    //1000毫秒等于一秒
    long now = System.currentTimeMillis();
    System.out.println(now);//1245839589
    //获取系统当前时间
    Date nowTime = new Date();
    System.out.println(nowTime);//Tue Jan 30 23:21:23 CST 2020
    //以上程序说明java.util.Date;已经重写了Object中的toString方法
    //只不过重写的结果对于中国人来讲不是很容易理解
    //java.util.Date;-->String
    /*
    *日期格式:
    *y  年  M  月  d  日  H  小时  m  分  s  秒  S  毫秒
    */
    //创建日期格式化对象
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss SSS");
    //开始格式化(Date-->String)
    String strTime = sdf.format(nowTime)//2020年01月30日  23:29:12 567
    /*
    *获取特定的日期
    */
    String strTime2 = "2008年08月8日 08:08:08 888";
    //将String日期转换为类型Date
    //String-->Date
    //1.创建日期格式化对象
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss SSS");
    //不能随意指定格式,应该和要解析的字符串的类型格式相对应
    Date t1 = sdf.parse(strTime);
    System.out.println(t1);
  }
}

 

三、源码:                                       

D78_1_AutomaticUnpackingAndPacking.java

D78_2_TimeMethodAnalysis.java

https://github.com/ruigege66/Java/blob/master/D78_1_AutomaticUnpackingAndPacking.java

https://github.com/ruigege66/Java/blob/master/D78_2_TimeMethodAnalysis.java

2.CSDN:https://blog.csdn.net/weixin_44630050

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

 


原文链接:https://www.cnblogs.com/ruigege0000/p/12244444.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java学习笔记(一) 面向对象---封装

下一篇:3.java发展简史