в 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 інтерфейси .
Інтерфейс CharSequence
Інтерфейс CharSequence використовується для представлення послідовності символів. рядок, StringBuffer і StringBuilder класи його реалізують. Це означає, що ми можемо створювати рядки в Java, використовуючи ці три класи.
Рядок Java незмінний, що означає, що його не можна змінити. Щоразу, коли ми змінюємо будь-який рядок, створюється новий екземпляр. Для змінних рядків можна використовувати класи StringBuffer і StringBuilder.
Ми обговоримо незмінний рядок пізніше. Давайте спочатку розберемося, що таке String в Java і як створити об’єкт String.
Що таке String в Java?
Загалом, String — це послідовність символів. Але в Java рядок — це об’єкт, який представляє послідовність символів. Клас java.lang.String використовується для створення рядкового об’єкта.
Як створити рядковий об'єкт?
Існує два способи створення об’єкта String:
- За допомогою рядкового літералу
- За новим ключовим словом
1) Рядковий літерал
Літерал Java String створюється за допомогою подвійних лапок. Наприклад:
String s='welcome';
Щоразу, коли ви створюєте рядковий літерал, JVM спочатку перевіряє «пул констант рядків». Якщо рядок уже існує в пулі, повертається посилання на об’єднаний екземпляр. Якщо рядок не існує в пулі, новий екземпляр рядка створюється та розміщується в пулі. Наприклад:
String s1='Welcome'; String s2='Welcome';//It doesn't create a new instance
У наведеному вище прикладі буде створено лише один об’єкт. По-перше, 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