所以,我正在尝试开发一个在我输入的时候打开JDialog的应用程序.它只需要精确到一秒钟.
public void run() {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
timeset = "16:37";
while(true){
System.out.println("thread sleep");
try{Thread.currentThread().sleep(1000);}catch(InterruptedException ie){}
Calendar cal = Calendar.getInstance();
cal.getTime();
temptime = sdf.format(cal.getTime());
System.out.println("realtime = " + realtime);
System.out.println("timeset = " + timeset);
if(realtime == timeset){
System.out.println("if statement activated");
Alert.man();
break;
}
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是当我运行程序时if语句在timeset和realtime相等时没有运行,我只是想不出来.这是怎么回事?
使用equals()方法检查两个日期是否相等.==operator只检查两个引用是否指向同一个实例.
if(realtime == timeset){
Run Code Online (Sandbox Code Playgroud)
应该
if(realtime.equals(timeset)){
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
307 次 |
| 最近记录: |