Arrays:用于操作数组的工具类。
里面都是静态方法。asList:将数组变成list集合。
把数组变成集合的好处:可以使用集合的思想来操作数组中的元素。将数组变成集合的时候不可以使用集合的增删方法,因为数组的长度是固定的。
runtime对象: 该类并没有提供构造函数,说明不可以new对象,那么会直接想到该类中的方法都是静态的。 发现该类中海油费静态方法,说明该类肯定提供了方法获取本类对象,而且方法是静态的,并且返回值的类型是本类类型。 由这个特点可以看出来该类使用了单例设计模式完成时间的度量: 格林威治时间,简称GMT时间,由观察太阳而得来;世界时,UT;国际原子时,TAI;世界协调时间,UTC;Unix时间,以1970年1月1日00:00:00为起点而经过的秒数,不考虑闰秒修正;epoch,以1970年1月1日00:00:00为起点而经过的毫秒数。
Date :使用Date实例的各getTime可以获得epoch毫秒数,**Data实例只用来当做时间轴上的某一瞬间;利用DataFormat可以对字符串格式进行处理,分别有GetDateInstance、GetTimeInstance、GetDateTimeInstance Date():分配Date对象并且初始化此对象,以表示分配到它的时间(精确到毫秒)。 Date(long date):分配Date对象并且初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”即1970年1月1日0点GMT)以来的制定毫秒数。 DateFormat: java.text.DateFormat 复责字符串时间格式处理,DataFormat是个抽象类,其操作类为java.text.SimpleDataFormat,getDataInstance()、getTimeInstance()、getDataTimeInstance()等静态用法;可以直接构建SimpleDataFormat实例,或是使用DataFormat的;直接构建SimpleDateFormat,可以自定义字符串格式 parse方法可以将指定的字符串剖析Date实例Calendar: Calendar实例取得某个时间日期信息,或者对时间日期进行操作;Calendar是个抽象类,java.util.GregorianCalendar是其子类,通过Calendar的getInstance()取得的Calendar实例,默认就是取得GregorianCalendar实例;比较两个Calendar的时间日期先后,使用after()或before()方法;取得Calendar实例后,可以取得年月日信息,可以进行设定,可以进行运算来改变。
TimeZone :TimeZone的getdefault可以取得默认时区的信息;Calender在调用getInstance()时可以指定Timezone,如果已经取得Calender实例,可以通过setTimeZone()的方法设定时区。
机器时间观点的API: Date实例只代表机器观点的时间信息;使用Instant的静态方法now()取得Instant实例,ofEpochMilli()可以指定Java epoch毫秒数,ofEpochSecod()指定秒数;取得Instant实例后,可以使用plusSecond()、plusMillis()、plusNanos()、minusSeconds()、minusMillis()、MinusNanos()做时间轴上的运算,返回新的Instant实例,代表运算后的时间。 人类时间观点的API: Date实例只代表机器观点的时间信息;在上面那些类的基础上可以使用ZonedDateTime等来进行补充;Month是enum类型,取得代表月份的数字,取得月份要通过getValue()方法,而不是使用oridinal()方法。学习感受:我感觉这一张比较简单,语法不是很多,虽然在c里面没有接受过这些语法的学习但是在逻辑上这些语法并没有什么太大的难度,只要能够做到合理的调度九可以了。
上传代码截图: