DESKTOP-2IHO1NT_20200902秦文亮
问题
1、StringBuffer和StringBuilder的区别
StringBuffer 线程安全的可变字符序列。一个类似于 String
的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。
StringBuilder 一个可变的字符序列。此类提供一个与 StringBuffer
兼容的 API,但不保证同步。该类被设计用作 StringBuffer
的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer
要快。
2、java.util.Date
package qin.wenliang.test;
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
// 获取从"历元"到某一时刻所经历的毫秒值(毫秒数)
long millis = System.currentTimeMillis();
System.out.println(millis);
Date d=new Date();
System.out.println(d);//获取当前时间
Date s=new Date(0L);// 通过有参构造创建Date实例参数传毫秒。
System.out.println(s);
long time = d.getTime(); // 获得Date实例内部所表示的时间(以毫秒值返回)
System.out.println( time );
final long day = 1000L * 60 * 60 * 24 ;//一天
d.setTime( time + day ); // 通过调用set方法传参可以改变时间得出一天后
System.out.println( d );
time = d.getTime();//获取现在的时间
d.setTime( time + day ); // 然后再加一天可以得到又一天后的时间
System.out.println( d );
d.setTime( time - day * 365 * 5 ); // 五年前
System.out.println( d );
Date first = new Date( millis - day * 365 * 20 );
Date second = new Date( millis );
Date third = new Date( millis - day * 365 );
Date four = new Date( millis );
System.out.println(first.after(second));//after比较前面的时间是不是比后面的时间晚;
System.out.println( first.before( third ) );//before比较前面的时间是不是比后面的时间早;
System.out.println( second.equals( four ) );//equals比较两个时间是不是相等;
//用after/before/equals返回的结果时boolean类型
System.out.println( third.compareTo( first ) );//compareTo比较前者是不是比后者大,返回结果为1.
//用compareTo如果参数 Date 等于此 Date,则返回值 0;
//如果此 Date 在 Date 参数之前,则返回小于 0 的值;
//如果此 Date 在 Date 参数之后,则返回大于 0 的值。
}
}
2、java.time.LocalDate
package qin.wenliang.test;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
public class LocalDateTest {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
System.out.println( today );//获取当前时间。
LocalDate date = LocalDate.of( 1997 , 6 , 1 );//LocalDate.of修改时间
System.out.println( date );
date = LocalDate.ofYearDay( 2020 , 366 );
//返回LocalDate指定的年份和年份。年份中的年份必须对该年份有效,否则将引发异常。
System.out.println( date );
System.out.println( date.getYear() );//用于获取年
System.out.println( date.getMonthValue() );//用于获取月
System.out.println( date.getDayOfMonth() );//用于获取日
System.out.println( date.isLeapYear() );//获取对应的年份是否是闰年;
System.out.println( date.lengthOfYear() );//用于获取LocalDate实例对应的年份的总天数
System.out.println( date.lengthOfMonth() );//用于获取LocalDate实例对应的月份的总天数
LocalDateTime time = today.atStartOfDay();//将此日期与午夜时间合并以LocalDateTime 在此日期的开始创建一个。
System.out.println(time);
LocalTime now = LocalTime.now();
time = today.atTime( now );//将此日期与时间结合以创建一个LocalDateTime。
System.out.println( time );
}
}
只理解这么多。
吐槽
一天又过去了,我又感觉没学到什么。无力吐槽!!!已吐晕快来救我!
点赞