Object
为了看到对象的内容 就应该重写Object的to String 方法
equals 默认比较两个对象的地址是否相同
如果要比较两个对象的内容是否相等 那么就要重写equals方法
Objects
要比较两个对象的内容是否一致可以使用Objects.equals(s1,s2)
Student jfd = new Student("江富道",18);
Student dht = new Student("江富道",18);
System.out.println(Objects.equals(jfd,dht));
System.out.println(jfd==dht);
System.out.println(jfd);
}
Date
先获得时间对象Date d = new Date();
再获得当前时间的时间毫秒值 往后再走121s
long d1 = d.getTime()+121*1000;
最后把时间毫秒值转换成日期对象 Dated2 = new Date(d1)
Date d = new Date();
// 当前时间毫秒值往后走121秒
long time = d.getTime()+121*1000;
// 将时间毫秒值转换成日期对象 进而输出
Date d1 = new Date(time);
System.out.println(d1);
DateFormat
可以格式化时间毫秒值和日期对象
可以把字符串的时间形式解析成日期对象
DateFormat是抽象类,不能直接使用,要使用其子类SimpleDateFormat
SimpleDateFormat
SimpleDateFormat格式化日期对象
- 创建日期对象获取当前日期对象
- 创建简单格式化对象用来格式化日期对象
- 调用方法来格式化日期对象 赋值给字符串变量
格式化日期对象
//创建时间对象,得到当前日期对象
Date d = new Date();
//创建一个简单日期格式对象,用来格式化日期对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss EEE a");
//调用方法来格式化当前日期对象,赋值给字符串变量进而输出
String time = sdf.format(d);
System.out.println(time);
格式化时间毫秒值
//得到当前日期对象
Date d = new Date();
//往后走121秒 的时间毫秒值
long time = d.getTime()+121*1000;
// Date d1 = new Date(time);//将时间毫秒值转换为日期对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss EEE a");
//格式化时间毫秒值
String s = sdf.format(time);
System.out.println(s);
小结:
简单日期格式化对象不仅可以把日期对象和时间毫秒值格式化成我们喜欢的字符串时间形式
它还可以把字符串的时间解析成日期对象
-- public Date parse(String date) throws ParseException:把字符串的时间解析成日期对象
*/
字符串的时间形式转化成日期对象
/**
* 面试题:请问“2019-11-04 09:30:30”往后一天15小时,30分29秒后的时间是多少
*/
//创建一个字符串时间形式
String date = "2019-11-04 09:30:30";
//把字符串对象解析成日期对象
//先创建简单格式化对象 用来解析字符串时间形式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//注意:参数要与字符串类型形式完全一样 否则会报错
Date date1 = sdf.parse(date);
//得到当前时间对象的时间毫秒值 往后走一天15小时 30分29秒
long time = date1.getTime()+(24L*60*60+15*60*60+30*60+29)*1000;
//将时间毫秒值格式化成喜欢的日期形式
String t = sdf.format(time);
System.out.println(t);
定义一个静态方法来返回唯一一个对象