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

猜你喜欢

转载自www.cnblogs.com/ruigege0000/p/12244444.html