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

  • 相关阅读:
    机器学习算法的流程总结
    机器学习算法的流程总结
    路由器的原理
    路由器的原理
    机器学习编程接口(api)设计(oop 设计)
    机器学习编程接口(api)设计(oop 设计)
    组态档(configuration file)与建构档
    组态档(configuration file)与建构档
    学习之法 —— 套路
    学习之法 —— 套路
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/12244444.html
Copyright © 2020-2023  润新知