Java if语句没有执行。

时间:2013-01-02 16:40:31

标签: java calendar system

  

可能重复:
  How do I compare strings in Java?
  java == vs equals() confusion

所以,我正在尝试开发一个在我输入时打开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;

    }

所以,我的问题是当我运行程序时if语句在timeset和realtime相等时没有运行,我只是想不出来。这是什么交易?

1 个答案:

答案 0 :(得分:6)

使用equals()方法检查两个日期是否相等。 ==运算符只检查两个引用是否指向同一个实例。

if(realtime == timeset){

应该是

if(realtime.equals(timeset)){