-3

重複の可能性:
Javaで文字列を比較するにはどうすればよいですか?
java == vs equals()の混乱

そこで、入室時にJDialogを開くアプリケーションを開発しようとしています。1秒まで正確である必要があります。

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ステートメントが実行されず、それを理解できないことです。どうしたんだ?

4

1 に答える 1

6

equals()メソッドを使用して、2つの日付が等しいかどうかを確認します。==演算子は、2つの参照が同じインスタンスを指しているかどうかをチェックするだけです。

if(realtime == timeset){

する必要があります

if(realtime.equals(timeset)){
于 2013-01-02T16:41:14.240 に答える