Визуальное программирование на Java Swing в NetBeans - страница 13

Шрифт
Интервал


Операция сцепления. Для строк доступна операция +, позволяющая соединить несколько строк в одну. Если один из операндов не строка, то он автоматически преобразуется в строку. Для объектов в этих целях используется метод toString.

При каждой операции внутренне используется объект динамической строки StringBuilder или StringBuffer. Поэтому для собирания строки из нескольких все равно оптимальней использовать сразу один StringBuilder/StringBuffer.

Выделение подстроки. Есть замечание относительно метода substring – возвращаемая строка использует тот же байтовый массив, что и исходная. Например, вы загрузили строку А из файла в 1мб. Что-то там нашли и выделили в отдельную строку Б длиной в 3 символа. Строка Б в реальности тоже занимает те же 1мб.


String s ="very .... long string from file";

String sub1 = s.substring(2,4); // совместно использует ту же память что и s

String sub2 = new String(s.substring(2,4)); // этот объект использует отдельный массив на 4 символа




Основные методы. Рассмотрим основные методы String:

– equals(Object anObject) – проверяет, идентична ли строка указанному объекту;

– compareTo(String anotherString) – лексиграфическое сравнение строк;

– compareToIgnoreCase(String str) – лексиграфическое сравнение строк без учета регистра символов;

– concat(String str) – возвращает соединение двух строк;

– contains(CharSequence s) – проверяет, входит ли указанная последовательность символов в строку;

– isEmpty() – возвращает true, если длина строки равна 0;

– indexOf(String str) – поиск первого вхождения указанной подстроки;

– replace(CharSequence target, CharSequence replacement) – замена одной подстроки другой;

– substring(int beginIndex, int endIndex) – возвратить подстроку как строку;

– toLowerCase() – преобразовать строку в нижний регистр;

– toUpperCase() – преобразовать строку в верхний регистр;

– trim() – отсечь на концах строки пустые символы;

– length() – определение длины строки;

– valueOf(a) – статические методы преобразования различных типов в строку;

– charAt(int index) – возвращает символ по указанному индексу;

– regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) – тест на идентичность участков строк, можно указать учет регистра символов;

– regionMatches(int toffset, String other, int ooffset, int len) – тест на идентичность участков строк;