Перевірка рядків на рівність

Навчальні курси:

Перевірка рядків на рівність в мові Java

Щоб перевірити, чи збігаються два рядки, слід використовувати метод equals; виклик методу
s. equals (t)
повертає значення true, якщо рядки s та t рівні між собою, в іншому випадку він повертає значення false.
Відзначимо, що рядки s та t можуть бути як змін-ними, так і константами. Наприклад, вираз
"Hello!". Equals (command);
цілком допустимо.

Щоб перевірити ідентичність рядків, ігноруючи відмінність між великими та малими літерами, слід використовувати метод equalslgnoreCase.
"Hello" .equalslgnoreCase ( "hello");

Для перевірки рядків на рівність можна застосовувати оператор = =!
Він перевіряє лише, чи зберігаються обидві рядки в одній і тій же області пам'яті. Зрозуміло, якщо обидві рядки зберігаються в одному і тому ж місці, вони повинні збігатися між собою.
Однак цілком можлива ситуація, при якій ідентичні рядки зберігаються в різних місцях.

String greeting = "Hello"; // Ініціалізує змінну
// greeting рядком.
if (greeting = "Hello").
// Можливо, ця умова істинно,
if (greeting.substring (0, 4) = = "Hell"). // Можливо, це умова помилкова.

Якщо віртуальна машина завжди дозволяє спільно використовувати однакові рядки, то для перевірки їх рівності можна застосовувати оператор = =. Однак совме-стно використовувати можна лише константи, а не рядки, які є результатами та-ких операцій, як + або substring. Отже, або потрібно назавжди відмовитися від перевірок рядків на рівність за допомогою оператора = =, або ви отримаєте про-граму, яка містить найгіршу з можливих помилок - перемежающуюся помилку, поява якої неможливо передбачити.

Клас String в мові Java містить більше 50 методів. Несподівано велика ко-личество з них виявилися корисними, так що можна легко собі уявити, що вони використовуються досить часто. Наведене нижче зауваження про інтерфейс API з-тримає найбільш корисні з них.

Інформація про інтерфейс API розкидана по всій книзі для того, щоб дати вам уявлення про інтерфейсі прикладних програм на мові Java (Java Application Programming Interface - API).

Кожне таке зауваження починається з імені класу, наприклад, java. lang.string - значення так званого име-ні пакета пояснюється в главі 5.
Після імені класу вказуються імена, пояс-нення і опис параметрів одного або декількох методів. Зазвичай в зауважень не перераховуються всі методи окремого класу. Замість цього з них вибираються і докладно описуються найбільш часто використовувані методи. Повний список методів можна знайти в оперативній документації про клас.

java. lang.string 1.0

Читання оперативної документації про інтерфейс API

Як ви тільки що переконалися, клас String має багато методів. Більш того, в стандартній бібліотеці існує кілька сотень класів, і яких ще більше методів. Абсолютно неможливо запам'ятати всі корисні класи і методи. Следо-вательно, дуже важливо вміти користуватися оперативної документацією про Інтерфом-се API, щоб при необхідності в стандартній бібліотеці можна було знайти все класи і методи. Документація про інтерфейс API є складовою частиною званих вели-ра інструментальних засобів Java SDK. Вона записана в HTML-форматі. Встановіть ваш броузер на підкаталог docs / api / index / html в каталозі, в якому встановлений ваш пакет Java SDK. Ви побачите екран, показаний на рис. 3.2.

Екран розділений на три вікна. У невеликому вікні у правому лівому наведені всі доступні пакети. Під ним у вікні побільше перераховані всі класи. Клацніть кнопкою миші на будь-якому з імен класів, і відповідна документація про ін-терфейс API буде показана в великому вікні праворуч (рис. 3.3). Наприклад, щоб по-лучити більше інформації про методи класу String, перейдіть вікно, поки не уві-дитя посилання String. Клацніть на ній.

Потім перейдіть вікно вправо, поки не побачите короткий опис всіх методів, упорядкованих в алфавітному порядку (рис. 3.4). Клацніть мишею на імені цього методу, щоб отримати його детальний опис (рис. 3.5).
Наприклад, якщо ви клац-неті мишею на засланні compareToIgnoreCase, то отримаєте опис методу compareToIgnoreCase.

Мал. 3.2 Три вікна з документацією по API.

Мал. 3.3 Опис класу String

Мал. 3.4 Зведення методів класу String