btn.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(win, "点击了按钮!");
}
});
简化后:
btn.addActionListener(e -> JOptionPane.showMessageDialog(win, "点击了按钮!"));
package day9.demo2;
import java.util.Objects;
/**
* @author NJR10byh
* @date 2022/7/26 13:55:13
* @description equals 与 Object.equals
*/
public class task2 {
public static void main(String[] args) {
String a1 = null;
String a2 = "njr";
// System.out.println(a1.equals(a2));
// Cannot invoke "String.equals(Object)" because "a1" is null
System.out.println(Objects.equals(a1, a2));
// Objects.equals更安全,它会提前先判断比较的值是否为null,再进行比较
}
}


计算机认为的时间起源:1970-01-01 00:00:00


package day9.demo3;
import java.math.BigDecimal;
/**
* @author NJR10byh
* @date 2022/7/26 15:57:53
* @description BigDecimal
*/
public class task3 {
public static void main(String[] args) {
BigDecimal a = new BigDecimal(0.1);
System.out.println(a);
/** 不建议使用 new BigDecimal(0.1),因为结果为 0.1000000000000000055511151231257827021181583404541015625
* 会导致失真
* 推荐使用BigDecimal.valueOf(0.1)
*/
BigDecimal a1 = BigDecimal.valueOf(0.1);
BigDecimal a2 = BigDecimal.valueOf(0.2);
System.out.println(0.1 + 0.2); // 0.30000000000000004
System.out.println(a1.add(a2)); // 0.3
}
}
Date类记录时间的两种形式:
package day9.demo4;
import java.util.Date;
/**
* @author NJR10byh
* @date 2022/7/26 16:12:43
* @description Date
*/
public class task4 {
public static void main(String[] args) {
Date d = new Date();
// 形式1:日期对象
System.out.println(d); // Tue Jul 26 16:36:58 CST 2022
// 形式2:时间毫秒值
System.out.println(d.getTime()); // 1658824618395
}
}
format()
package day9.demo6;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author NJR10byh
* @date 2022/7/26 17:04:23
* @description SimpleDateFormat 格式化日期
*/
public class task6 {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 1、接受毫秒值
// 格式化当前时间 + 1000秒
long currTime_ms = System.currentTimeMillis();
String currformatTime_ms = sdf.format(currTime_ms);
System.out.println(currformatTime_ms);
String formatTime_ms = sdf.format(currTime_ms + 1000 * 1000);
System.out.println(formatTime_ms);
System.out.println("-------------------");
// 2、接受时间对象
Date currTime_date = new Date();
String currformatTime_date = sdf.format(currTime_date);
System.out.println(currformatTime_date);
}
}
parse()
注:需要抛出异常
package day9.demo7;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author NJR10byh
* @date 2022/7/26 17:32:18
* @description SimpleDateFormat 熟悉的格式转换为日期对象
*/
public class task7 {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = "2022-07-26 17:32:18";
Date d = sdf.parse(dateStr);
System.out.println(d); // Tue Jul 26 17:32:18 CST 2022
}
}







用于 LocalDate 之间的比较

用于 LocalDateTime 之间的比较(也可用于 Instant 之间的比较)


练习代码: day9_code