Визуальное программирование на Java Swing в NetBeans. Сергей Николаевич Талипов. Читать онлайн. Newlib. NEWLIB.NET

Автор: Сергей Николаевич Талипов
Издательство: ЛитРес: Самиздат
Серия:
Жанр произведения: Справочники
Год издания: 2019
isbn:
Скачать книгу
prefix, int toffset) – проверяет, начинается ли строка в указанной позиции с указанного префикса;

      – getBytes() – возвращает байтовое представление строки;

      – getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) – возвращает символьное представление участка строки;

      – hashCode() – хеш код строки;

      – indexOf(int ch) – поиск первого вхождения символа в строке;

      – indexOf(int ch, int fromIndex) – поиск первого вхождения символа в строке с указанной позиции;

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

      – lastIndexOf(int ch) – поиск последнего вхождения символа;

      – lastIndexOf(int ch, int fromIndex) – поиск последнего вхождения символа с указанной позиции;

      – lastIndexOf(String str) – поиск последнего вхождения строки;

      – lastIndexOf(String str, int fromIndex) – поиск последнего вхождения строки с указанной позиции;

      – replace(char oldChar, char newChar) – замена в строке одного символа на другой;

      – toUpperCase(Locale locale) – преобразовать строку в верхний регистр, используя указанную локализацию;

      – toLowerCase(Locale locale) – преобразовать строку в нижний регистр, используя указанную локализацию;

      Методы поиска возвращают индекс вхождения или -1, если искомое не найдено. Методы преобразования (как replace) не изменяют саму строку, а возвращают соответствующий новый объект строки.

      Особенности String. Неправильное использование типа String приводит к засорению оперативной памяти и как следствие к медленной работе программы. Рассмотрим пример:

      public static void main(String[] args) {

      String s = "a";

      for (int i = 0; i < 100; i++) {

      s += 'a';

      }

      System.out.println(s); // Распечатается строка из 100 символов «a»

      }

      Этот код создаст 100 разных строк, которые будут храниться в памяти, пока сборщик мусора Java не удалит их после завершения программы. В результате работы программы переменная «s» будет содержать строку из 100 символов «a», но 99 ранее созданных строк остались «мусором» в памяти без возможности обращения к ним.

      Поэтому для изменения строки следует использовать класс обертку StringBuilder. Предыдущий пример нужно переписать следующим образом:

      public static void main(String[] args) {

      StringBuilder s = new StringBuilder("a");

      for (int i = 0; i < 100; i++) {

      s.append('a');

      }

      System.out.println(s); // Распечатается строка из 100 символов «a»

      }

      Динамические строки. Динамические строки описываются классами StringBuilder и StringBuffer. StringBuffer более медленный, но потокобезопасный. Переменные типа динамических строк могут менять свои значения и длину во время выполнения программы.

      Основные методы динамических строк:

      – append(A) – преобразовать A в строку и добавить в конец;

      – insert(int offset, A) – преобразовать A в строку и вставить ее в указанную позицию;

      – delete(int start, int end) – удалить символы с указанной начальной позиции по указанную конечную позицию;

      – reverse() – расположить символы в обратном порядке;

      – setCharAt(int index, char ch) – заменить символ в указанной позиции;

      – setLength(int newLength) – установить новый размер строки;

      – substring(int start) – вернуть подстроку с указанной позиции и до конца как строку;

      – substring(int start, int end) – вернуть подстроку как строку;

      – deleteCharAt(int index) – удалить символ в указанной позиции;

      – getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) – сохранить последовательность