Java if statement not executing.
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
How do I compare strings in Java?
java == vs equals() confusion
因此,我正在尝试开发一个应用程序,它在我输入时打开一个JDialog。它不需要精确到一秒钟。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 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; } |
所以,我的问题是,当我运行程序时,如果时间集和实时时间相等,我就不能理解if语句的运行。怎么回事?
使用equals()方法检查两个日期是否相等。
1 | if(realtime == timeset){ |
应该是
1 | if(realtime.equals(timeset)){ |