Day_1:Java学习(一):核心类库(3)

1、可变字符串类:java.lang:StringBulider(jdk1.5开始,属于非线程安全的类,效率高)、StringBuffer(jdk1.0开始,属于线程安全的类,效率低)

(线程:以大家下楼取苹果为例;安全线程:排队装;非安全线程:不排队抢货。)

(1)StringBuilder类构造方法

                                                                       

(2)成员方法

                                                                      

快捷键:回到上一步/下一步:ctrl+alt+方向键(左右)

(3)返回值设计

  • 既然StringBuilder类的对象本身可以修改,为什么成员方法还有返回值?——为了连续调用
    sb3.reverse().append("1").insert(2,"45").deleteCharAt(9);
  • String类型与StringBuilder类型之间转换?——toString、构造方法
    String str5 = sb3.toString();
    StringBuilder sb6 = new StringBuilder(str5);
  • String、String Buffer、String Builder效率依次增高。

二、日期相关类

2、System类:java.lang.System

(1)之前用过的常用方法:System.in、System.out、System.Arrsy.copyOf。。。

(2)System.currentTimeMillis():返回当前时间与1970年1月1日0时0分0秒之间的毫秒为单位的时间差,long。用途:测试某一段代码的执行效率。生成特定的订单号码。等

3、Date类:java.util.Date,用于描述特定的瞬间,年月日时分秒,精确到毫秒。

(1)常用方法

                                                                                    

4、SimpleDateFormat类:java.text.SimpleDateFormat,主要用于实现日期和文本之间的转换。

(1)常用方法                                                                            

5、Calender类:java.util.Calender类,用于描述特定瞬间,取代Date类中过时方法,实现全球化。该类为抽象类,不能new对象,具体子类针对不同国家的日历系统,其中最广泛的是GergorianCalender                                                                                

Calendar instance = Calendar.getInstance();
instance.set(2000,4-1,8,12,0,0);
Date d2 = instance.getTime();

快捷键:Alt+Enter返回值快速添加

(1)多态使用场合

  • 通过方法的参数传递:public static void show(Shape s){s.show()}    draw(new Rect(1,2,3,4));
  • 用抽象类或接口类的引用指向子类或实现类的对象,在方法体中直接使用多态语法格式:Account acc = new FixedAccount();
  • 通过方法返回值类型形成多态:Calender getInstance(){return new GergorianCalender();}

三、Java8以后的日期相关类:java.time/java.time.chrono/java.time.format/java.time.temporal/java.time.zone

Java8之前的日期类面临的问题:年份从1900开始,月份从0开始;格式调整需要从Calender转成Date再进行Format;线程安全问题。

6、LocalDate类:java.time.LocalDate类,用于描述年-月-日格式的日期信息,该类不表示时间和时区信息。

      static LocalDate now()

7、LocalTime类:java.time.LocalTime类,用于描述时间信息,可以描述时分秒以及纳秒。

     static LocalTime now()

     static LocalTime now(ZoneId zone)

8、LocalDateTime类:java.time.LocalDateTime类,用于描述ISO-8601日历系统中没有时区的日期时间。                                                                                                    

快捷键:ctrl+F12搜索方法

9、Instant类:java.time.Instant类,主要用于描述瞬间的时间信息。——Date类                                                                         

10、DateTimeFormatter类:java.time.format.DateTimeFormatter类,用于格式化和解析日期。——SimpleDateFormate类

                                 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值