Как в java выполнить код через секунду?

192
30 марта 2018, 12:51

Здравствуйте. У меня возник вопрос насчет таймеров в Java, как мне сделать так, чтобы вывод сообщения производился через одну секунду? В инете посмотрел, но ничего толкового не нашел.

if (message.toLowerCase().contains("привет") ||
  message.toLowerCase().contains("здравствуйте") ||
        )
 {
String[] cats = {"Привет!", "Привет, дорогой друг!", "Приветствую тебя!"};
            getTextarea.appendText(cats[rand.nextInt(cats.length)]+"\n"); } //Вот эту строку нужно выполнить через секунду
Answer 1

Можно вот так:

new java.util.Timer().schedule( 
            new java.util.TimerTask() {
                @Override
                public void run() {
                    // your code here
                }
            }, 
            1000 
    );

После того, как последняя ссылка на объект Timer исчезнет, ​​и все задачи завершены, поток выполнения задачи таймера заканчивается и становится объектом сбора мусора. Однако это может занять некоторое время.

Answer 2

Просто перед кодом добавьте

 Thread.sleep(1000);
READ ALSO
Как узнать завершился ли пул потоков ExecutorService?

Как узнать завершился ли пул потоков ExecutorService?

Доброго времени сутокЕсть код:

234
SpringMVC контроллер вызывается 3 раза

SpringMVC контроллер вызывается 3 раза

Доброго времени сутокЕсть код:

206
Выделение ячеек в GridView?

Выделение ячеек в GridView?

ячейку при нажатии,какой обработчик делает жто?

212
Скачивание файла с прогрессом

Скачивание файла с прогрессом

Доброго времени сутокМне надо способ скачивать множество файлов одновременно по определённому пути в определённый каталог

211