Spec-Zone .ru
спецификации, руководства, описания, API
След: Изучение Языка Java
Урок: Числа и Строки
Раздел: Строки
Сравнение Строк и Частей Строк
Домашняя страница > Изучение Языка Java > Числа и Строки

Сравнение Строк и Частей Строк

String У class есть много методов для того, чтобы сравнить строки и части строк. Следующая таблица приводит эти методы.

Методы для Сравнения Строк
Метод Описание
boolean endsWith(String suffix)
boolean startsWith(String prefix)
Возвраты true если эта строка заканчивается или начинается с подстроки, определенной как параметр методу.
boolean startsWith(String prefix, int offset) Рассматривает строку, начинающуюся при индексировании offset, и возвраты true если это начинается с подстроки, определенной как параметр.
int compareTo(String anotherString) Сравнивает две строки лексикографически. Возвращает целое число, указывающее, больше ли эта строка чем (результат> 0), равный (результат = 0), или меньше чем (результат <0), параметр.
int compareToIgnoreCase(String str) Сравнивает две строки лексикографически, игнорируя различия в случае, если. Возвращает целое число, указывающее, больше ли эта строка чем (результат> 0), равный (результат = 0), или меньше чем (результат <0), параметр.
boolean equals(Object anObject) Возвраты true если и только если параметром является a String объект, который представляет ту же самую последовательность символов как этот объект.
boolean equalsIgnoreCase(String anotherString) Возвраты true если и только если параметром является a String объект, который представляет ту же самую последовательность символов как этот объект, игнорируя различия в случае, если.
boolean regionMatches(int toffset, String other, int ooffset, int len) Тесты, соответствует ли указанная область этой строки указанную область Строкового параметра.

Область имеет длину len и начинается при индексировании toffset для этой строки и ooffset для другой строки.

boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) Тесты, соответствует ли указанная область этой строки указанную область Строкового параметра.

Область имеет длину len и начинается при индексировании toffset для этой строки и ooffset для другой строки.

Булев параметр указывает, должен ли регистр игнорироваться; если это правда, регистр игнорируется, сравнивая символы.

boolean matches(String regex) Тесты, соответствует ли эта строка указанное регулярное выражение. Регулярные выражения обсуждаются в уроке, названном "Регулярные выражения."

Следующая программа, RegionMatchesDemo, использование regionMatches метод, чтобы искать строку в пределах другой строки:


public class RegionMatchesDemo {
    public static void main(String[] args) {
        String searchMe = "Green Eggs and Ham";
        String findMe = "Eggs";
        int searchMeLength = searchMe.length();
        int findMeLength = findMe.length();
        boolean foundIt = false;
        for (int i = 0; 
             i <= (searchMeLength - findMeLength);
             i++) {
           if (searchMe.regionMatches(i, findMe, 0, findMeLength)) {
              foundIt = true;
              System.out.println(searchMe.substring(i, i + findMeLength));
              break;
           }
        }
        if (!foundIt)
            System.out.println("No match found.");
    }
}

Вывод из этой программы Eggs.

Программа ступает через строку, упомянутую searchMe один символ за один раз. Для каждого символа программа вызывает regionMatches метод, чтобы определить, соответствует ли подстрока, начинающаяся с текущего символа, строку, которую ищет программа.


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Управление Символами в Строке
Следующая страница: Класс StringBuilder