Строки нужно сравнивать всегда через 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)