Есть такой код:
import java.util.Scanner;
public class NoobsIm {
public static void main(String[] args) {
boolean continueWhile = true;
Scanner inp = new Scanner(System.in);
do {
System.out.print("> ");
String inputText = inp.nextLine();
if (inputText == "m") {
System.out.println("сработало");
continueWhile = false;
}
else {
System.out.println("не сработало");
}
} while (continueWhile);
}
}
И, если честно, делает какую-то ерунду! Ввожу "m" — выводит "не сработало". Ввожу "Что-то там" — выводит то же самое.
Оператор сравнения ==
в Java возвращает true
либо при сравнении примитивных типов имеющих одинаковые значения, либо при сравнении двух одинаковых объектов (ссылок на один и тот же объект). В вашем случае два объекта типа String
являются разными, хоть и содержат внутри себя одинаковые данные.
Для сравнения объектов используют оператор equals()
, где он реализован. Т.е. в вашем случае надо делать так:
if(inputText.equals("m")){
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
За два дня так и не смог подписать приложение с помощью pepkjar !
ПриветствуюЯ использую DialogFragment который вызывается из главного Activity, в самом DialogFragment я использую собственную разметку, в которой реализован...
Следуя методологии DDD вся логика домена находится внутри домена и не выносится в отдельные сервисыВопрос в том как сохранять изменения корня...