Чтобы проверить, совпадают ли две строки, следует использовать метод 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
Рис. З.5. Детальное описание метода CompareTolgnoreCase класса String
|