logo

Рядок Java

в Java , рядок — це в основному об’єкт, який представляє послідовність значень char. Ан масив символів працює так само, як рядок Java. Наприклад:

 char[] ch={'j','a','v','a','t','p','o','i','n','t'}; String s=new String(ch); 

те саме, що:

 String s='javatpoint'; 

Рядок Java Клас надає багато методів для виконання операцій над рядками, наприклад compare(), concat(), equals(), split(), length(), replace(), compareTo(), intern(), substring() тощо.

Клас java.lang.String реалізує Серіалізований , Порівнянний і CharSequence інтерфейси .

Рядок в Java

Інтерфейс CharSequence

Інтерфейс CharSequence використовується для представлення послідовності символів. рядок, StringBuffer і StringBuilder класи його реалізують. Це означає, що ми можемо створювати рядки в Java, використовуючи ці три класи.

CharSequence в Java

Рядок Java незмінний, що означає, що його не можна змінити. Щоразу, коли ми змінюємо будь-який рядок, створюється новий екземпляр. Для змінних рядків можна використовувати класи StringBuffer і StringBuilder.

Ми обговоримо незмінний рядок пізніше. Давайте спочатку розберемося, що таке String в Java і як створити об’єкт String.

Що таке String в Java?

Загалом, String — це послідовність символів. Але в Java рядок — це об’єкт, який представляє послідовність символів. Клас java.lang.String використовується для створення рядкового об’єкта.

Як створити рядковий об'єкт?

Існує два способи створення об’єкта String:

  1. За допомогою рядкового літералу
  2. За новим ключовим словом

1) Рядковий літерал

Літерал Java String створюється за допомогою подвійних лапок. Наприклад:

 String s='welcome'; 

Щоразу, коли ви створюєте рядковий літерал, JVM спочатку перевіряє «пул констант рядків». Якщо рядок уже існує в пулі, повертається посилання на об’єднаний екземпляр. Якщо рядок не існує в пулі, новий екземпляр рядка створюється та розміщується в пулі. Наприклад:

 String s1='Welcome'; String s2='Welcome';//It doesn't create a new instance 

Рядок Java

У наведеному вище прикладі буде створено лише один об’єкт. По-перше, JVM не знайде жодного рядкового об’єкта зі значенням «Welcome» у пулі рядкових констант, тому він створить новий об’єкт. Після цього він знайде рядок зі значенням «Welcome» у пулі, він не створить новий об’єкт, але поверне посилання на той самий екземпляр.

Примітка. Рядкові об’єкти зберігаються в спеціальній області пам’яті, відомій як «пул рядкових констант».

Чому Java використовує концепцію рядкового літералу?

Щоб зробити Java більш ефективною пам’яттю (оскільки нові об’єкти не створюються, якщо вони вже існують у пулі констант рядків).

2) За новим ключовим словом

 String s=new String('Welcome');//creates two objects and one reference variable 

У такому випадку JVM створить новий рядковий об’єкт у звичайній (не пуловій) пам’яті купи, а літерал «Ласкаво просимо» буде розміщено в пулі рядкових констант. Змінна s посилатиметься на об’єкт у купі (не пул).

sql concat

Приклад рядка Java

StringExample.java

 public class StringExample{ public static void main(String args[]){ String s1='java';//creating string by Java string literal char ch[]={'s','t','r','i','n','g','s'}; String s2=new String(ch);//converting char array to string String s3=new String('example');//creating Java string by new keyword System.out.println(s1); System.out.println(s2); System.out.println(s3); }} 
Перевірте зараз

Вихід:

java strings example 

Наведений вище код перетворює a char масив у a Рядок об'єкт. І відображає об’єкти String s1, s2 , і s3 за допомогою консолі println() метод.

Методи класу Java String

Клас java.lang.String надає багато корисних методів для виконання операцій над послідовністю значень char.

Немає.методопис
1 char charAt(індекс індексу) Він повертає значення char для певного індексу
2 int length() Повертає довжину рядка
3 static String format (String format, Object... args) Він повертає відформатований рядок.
4 static String format (Мова l, String format, Object... args) Він повертає відформатований рядок із заданою мовою.
5 Підрядок рядка (int beginIndex) Він повертає підрядок для заданого початкового індексу.
6 Підрядок рядка (int beginIndex, int endIndex) Він повертає підрядок для заданого початкового і кінцевого індексів.
7 логічний містить (CharSequence s) Він повертає true або false після відповідності послідовності значення char.
8 статичне об’єднання рядків (роздільник CharSequence, елементи CharSequence...) Він повертає об’єднаний рядок.
9 статичне об'єднання рядків (роздільник CharSequence, ітеровані елементи) Він повертає об’єднаний рядок.
10 логічне значення дорівнює (інший об'єкт) Він перевіряє рівність рядка заданому об'єкту.
одинадцять логічне isEmpty() Він перевіряє, чи рядок порожній.
12 String concat (String str) Він об’єднує вказаний рядок.
13 Заміна рядка (старий символ, новий символ) Він замінює всі входження вказаного значення char.
14 Заміна рядка (CharSequence старий, CharSequence новий) Він замінює всі входження зазначеного CharSequence.
п'ятнадцять static String equalsIgnoreCase (рядок інший) Він порівнює інший рядок. Він не перевіряє регістр.
16 String[] split (String регулярний вираз) Він повертає розділений рядок, що відповідає регулярному виразу.
17 String[] split (String regex, int limit) Він повертає розділений рядок, що відповідає регулярному виразу та обмеженню.
18 Рядок intern() Він повертає вбудований рядок.
19 int indexOf(int ch) Він повертає вказаний індекс значення char.
двадцять int indexOf(int ch, int fromIndex) Він повертає вказаний індекс значення char, починаючи з заданого індексу.
двадцять один int indexOf(підрядок рядка) Він повертає вказаний індекс підрядка.
22 int indexOf(String substring, int fromIndex) Він повертає вказаний індекс підрядка, починаючи з заданого індексу.
23 Рядок toLowerCase() Він повертає рядок у нижньому регістрі.
24 Рядок у нижній регістр (Мова l) Він повертає рядок у нижньому регістрі з використанням указаної мови.
25 Рядок toUpperCase() Він повертає рядок у верхньому регістрі.
26 Рядок у верхньому регістрі (Мова l) Він повертає рядок у верхньому регістрі, використовуючи вказану мову.
27 String trim() Він видаляє початкові та кінцеві пробіли цього рядка.
28 static String valueOf(int value) Він перетворює заданий тип у рядок. Це перевантажений метод.

Чи ти знаєш?
  • Чому об’єкти String незмінні?
  • Як створити незмінний клас?
  • Що таке пул констант рядків?
  • Який код пише компілятор, якщо об’єднати будь-який рядок за допомогою + (оператор об’єднання рядків)?
  • Яка різниця між класом StringBuffer і StringBuilder?

Що ми будемо вивчати під час обробки рядків?
  • Поняття рядка
  • Незмінний рядок
  • Порівняння рядків
  • Конкатенація рядків
  • Поняття підрядка
  • Методи класу String та їх використання
  • Клас StringBuffer
  • Клас StringBuilder
  • Створення класу Imutable
  • метод toString().
  • Клас StringTokenizer