Как правильно сравнивать строки в Java — 29 сентября 2026 г. в 07:19:08.425
Как правильно сравнивать строки в Java Запустите маленький эксперимент: создайте две строки с одинаковыми литералами и третью через new String(). Оператор == вернёт true для первых двух, но false для первой и третьей. Он проверяет, ссылаются ли переменные на один объект, а не совпадают ли символы. Литералы Java хранит в строковом пуле, то есть в кеше одинаковых строк, поэтому две переменные могут получить ссылку на один объект. new String() всегда создаёт отдельный объект. Для сравнения содержимого используйте equals(): результат не будет зависеть от способа создания строки. В разборе строк Java есть готовые примеры. После них проверьте "admin".equals(role) при role = null: выражение вернёт false, а не ошибку. Так вы закрепите и сравнение строк, и безопасную работу с пустой ссылкой.