我想在java中创建一个在特定时间停止的计时器

我想在java中创建一个在特定时间停止的计时器,java,if-statement,timer,Java,If Statement,Timer,因此,我尝试制作一个计时器,它将在我放入if语句的特定时间停止,尽管它不起作用。我有没有办法做到这一点 import java.text.SimpleDateFormat; import java.util.Date; import java.util.Calendar; public class time { public static void main(String args[]) { do { Date date = Calendar.g

因此,我尝试制作一个计时器,它将在我放入if语句的特定时间停止,尽管它不起作用。我有没有办法做到这一点

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;

public class time {
    public static void main(String args[]) {
        do {
            Date date = Calendar.getInstance().getTime();
            DateFormat dateFormat = new SimpleDateFormat("dd hh:mm:ss");
            String strDate = dateFormat.format(date);
            System.out.println(strDate);
            if (strDate == "06 03:22:30") {
                System.out.println("timer done");
            }
        } while (true);
    }
}

如果条件匹配,请添加break语句。否则它将打印并继续处理,最终将进入一个无限循环。还可以添加使用.equals()方法比较字符串等式,而不是==(这是引用比较)


谢谢你的建议,但这并不能解决我原来的问题。我已经更新了代码。现在请检查,它应该可以工作了。顺便说一句,您正在使用可怕的日期时间类,这些类在几年前被JSR310中定义的现代java.time类所取代。另外,请检查。在java中,不能使用==运算符比较字符串。改为使用equals()。
public class time {
    public static void main(String args[]) {
        do {
            Date date = Calendar.getInstance().getTime();
            DateFormat dateFormat = new SimpleDateFormat("dd hh:mm:ss");
            String strDate = dateFormat.format(date);
            System.out.println(strDate);
            if (strDate.equals("06 03:22:30")) {
                System.out.println("timer done");
                break;
            }
        } while (true);
    }
}