public class Solution {
boolean isCancel = false;
public static void main(String[] args) throws InterruptedException {
Thread t = new Thread(new TestThread());
t.start();
Thread.sleep(3000);
ourInterruptMethod();
}
public static void ourInterruptMethod() {
isCancel = true;
}
public static class TestThread implements Runnable {
public void run() {
while (isCancel = false) {
try {
System.out.println("he-he");
Thread.sleep(500);
} catch (InterruptedException e) {
}
}
}
}
}
while (!isCancel) - все работает
while (isCancel = false) - не работает ничего.
Всегда думала, что это логически равные условия. Помгите, пожалуйста, разобраться.
Антонина
34 уровень
Объясните, пожалуйста, разницу while (!isCancel) и while (isCancel = false)
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia Volkova Java Developer в DXC Master
16 апреля 2020, 12:49
= - это оператор присваивания.
Проверка равенства - это ==
0
Антонина
18 апреля 2020, 08:58
Точно...
спасибо!
0