Menu
Coddy logo textTech

String Comparison

Часть раздела Основы путешествия по Java на Coddy — урок 21 из 73.

В Java сравнение строк отличается от сравнения чисел. В то время как для чисел вы можете использовать <, >, == и т.д., строки требуют других методов, потому что они являются объектами, а не примитивными типами.

Наиболее распространённый и правильный способ проверить, имеют ли две строки одинаковое содержимое, — это использование метода equals():

String str1 = "hello";
String str2 = "hello";
String str3 = "Hello";

boolean result1 = str1.equals(str2);  // true
boolean result2 = str1.equals(str3);  // false (case-sensitive)

Использование equalsIgnoreCase(). Если вы хотите сравнить строки без учёта регистра:

String str1 = "Hello";
String str2 = "hello";

boolean result = str1.equalsIgnoreCase(str2);  // true

Многие начинающие пытаются использовать == для сравнения строк, но это обычно неверно:

String str1 = "hello";
String str2 = "hello";

boolean result = (str1 == str2); 

Не сравнивайте строку с помощью знака ==!

Шпаргалка

В Java строки являются объектами и требуют специальных методов для сравнения:

Используйте equals() для сравнения содержимого строк (с учетом регистра):

String str1 = "hello";
String str2 = "hello";
String str3 = "Hello";

boolean result1 = str1.equals(str2);  // true
boolean result2 = str1.equals(str3);  // false

Используйте equalsIgnoreCase() для сравнения строк без учета регистра:

String str1 = "Hello";
String str2 = "hello";

boolean result = str1.equalsIgnoreCase(str2);  // true

Важно: Не используйте == для сравнения строк — это сравнивает ссылки на объекты, а не содержимое.

Попробуйте сами

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы