Керування рядками, функції для роботи з рядками Java. Частина 1 Продовжуємо вивчення рядків Java. Основи роботи з рядками можна переглянути в уроці «Рядки в Java».
Наступна програма використовує метод
Програма виведе
Наприклад, наступний код:
Клас
Деякі операції (наприклад, Функції
Основні функції
Ви можете використовувати будь-який метод класу
Програма виведе:
Висновок:
Методи для порівняння рядків
КласStringмістить методи для порівняння рядків та частин рядків. Наступна таблиця описує ці методи:
Наступна програма використовує метод regionMatchesдля знаходження рядків в іншому рядку:
Програма виведе Eggs. Програма пробігає по рядку символ за символом, кожного символу програма викликає метод regionMatches, передаючи йому позицію символу, для пошуку рядка findMe.
Клас StringBuilder
Об'єкти типуStringBuilderвідрізняються від об'єктів типу Stringтим, що можуть бути змінені. По суті вони являють собою масиви змінної довжини, що містять послідовність символів. Довжина та зміст послідовності можуть бути змінені викликом відповідних методів. StringBuilderнеобхідно використовувати у випадках, коли це допоможе спростити код (приклад нижче) або якщо це необхідно для кращої продуктивності. Якщо вам необхідно поєднати велику кількість рядків, використання StringBuilderбуде більш ефективним.
Length та Capacity
КласStringBuilderяк і клас Stringмає метод length(), який повертає довжину послідовності символів об'єкта. На відміну від рядків, в StringBuilder, крім довжини є capacityкількість символів під яке виділена пам'ять. Місткість (capacity), що повертається методом capacity(), завжди більша або дорівнює довжині рядка (зазвичай більше) і автоматично буде збільшена при необхідності.
Наприклад, наступний код:
StringBuilder sb = new StringBuilder();
sb.append("Greetings"); створить string builderдовжиною 9 символів і ємністю 16:
Клас StringBuilderмістить кілька методів, що відносяться до довжини та ємності, яких немає в класі String:
Деякі операції (наприклад, append(), insert(), або setLength()) можуть збільшити довжину послідовності символів в stringbuilder'е, так що довжина може виявитися більшою за поточну ємність. Коли це відбувається, ємність автоматично збільшується.
ФункціїStringBuilder
Основні функції StringBuilder, яких немає String: append()і insert(), які перевантажені прийому різного типу даних. Кожен конвертує аргумент у рядок і додає його до рядка stringbuilder'а. Метод appendзавжди додає символи до кінця існуючої послідовності, тоді як метод insertдодає символи у вказане місце. Деякі методи класу StringBuilder.
Ви можете використовувати будь-який метод класу Stringна об'єкті класу StringBuilder, попередньо сконвертувавши його в рядок методом toString(). Потім із рядка можна знову зробити stringbuilder, використовуючи конструктор: StringBuilder(String str).
приклад
ПрограмаStringDemo, яку ми розглядали в попередніх уроках Java - приклад того, коли використання StringBuilderзамість Stringробить програму простіше. StringDemoперевертає паліндром:
Програма виведе:
doT saw I was toD Для того щоб перевернути термін програма спочатку конвертує рядок у масив символів (перший цикл), далі перевертає масив і назад конвертує масив у рядок. Якщо ви конвертуєте рядок palindrome в stringbuilder, ви можете використовувати метод reverse()класу StringBuilder. Код стане чистішим і простішим за читання:
Висновок:
doT saw I was toD Зверніть увагу, що в функцію println()ми передаємо StringBuilder:
System.out.println(sb); Метод sb.toString()буде неявно викликаний, як і будь-якого іншого об'єкта, переданого в println(). Посилання на першоджерело: Керування рядками, функції для роботи з рядками Java. Частина 2
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ