我正在制作一个程序,每当时间达到一小时就会执行某些操作。
以下是代码:
import java.text.*;
import java.util.Date;
class NMAP {
public static void main(String[] args) {
DateFormat dateFormat = new SimpleDateFormat("HH");
Date date = new Date();
if (dateFormat.format(date).equals(17)) {
System.out.println(dateFormat.format(date));
}
}
}
它应该输出17
(因为它是17:00),但它不会输出任何内容。
为什么不呢?
答案 0 :(得分:3)
您正在将dateFormat.equals(17)
字符串与整数进行比较
无论是什么都会返回false,因为它们是不同的类型。
你必须做dateFormat.equals("17")
因为有些人需要java8的强大功能:
LocalTime now = LocalTime.now();
System.out.println(now);
System.out.println(now.getHour() == 17);