Строки нужно сравнивать всегда через equals

 String s1 = "Дом";
String s2 = "Дом";
System.out.println(s1.equals(s2) ? "Строки равны" : "Строки не равны");

Нельзя сравнивать строки через «==«, т.к. мы сравниваем ссылки на строки !

Еще важно не забывать, что строка s1 может быть равна null. Такое может быть, если мы например, берем данные из проперти-файла неверно указав название переменной

Данный код выведет NullPointerException

String s1 = null;
String s2 = "Дом";
System.out.println(s1.equals(s2) ? "Строки равны" : "Строки не равны");

Добавим проверку s1 на null. Важно, на null нужно проверять только строку s1

 String s1 = null;
String s2 = "Дом";
System.out.println(s1!=null && s1.equals(s2) ? "Строки равны" : "Строки не равны");

Поэтому если мы знаем, что строка s2 точно не будет равна null, а s1 может быть null, то запишем:
s2.equals(s1)

Реклама