Сравнение строк выполняется путем вызова str1.equals(str2)
вместо использования ==
.
equals(..)
сравнивает содержимое строк
==
сравнивает ссылки, и они не совпадают.
Однако есть еще кое-что, что нужно знать. String
объекты, которые инициализируются как литералы, т.е.
String str = "someString"
вместо сквозной конструкции (String str = new String("some")
) - это все один и тот же объект. Для них ==
будет работать.
И, наконец, для любого String
вызов intern()
возвращает String
, который является тем же объектом, что и все другие строки с таким же содержимым. (для получения дополнительной информации прочитайте документацию intern()
)
Но лучше всего использовать equals()
, при этом будьте осторожны, если объект, к которому вы его вызываете (первая строка), не null
.