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

Зачем много говорить о строках?

Итак, на следующих этапах этого доклада мы столкнемся со многими путаницами с почему, где, когда, что или как, но подождите, почему мы так стремимся это узнать! Затем давайте ненадолго выйдем из сказочной страны компьютеров в наш реальный мир, который на самом деле является базой для связи всех компьютерных языков, способных удовлетворить мировые потребности. На самом деле строки в Java являются широко используемым типом данных (и в большинстве языков программирования ), они позволяют нам хранить все, что связано со словами, предложениями, телефонными номерами или даже просто обычными номерами, роль для заполнения формы до использования приложения. Поэтому это играет жизненно важную роль в качестве горячей темы в нашей комнате для интервью.

1. Создание строки

Язык Java обогащен тремя различными классами в пакете java.lang:

:- Строковый класс (java.lang.String)

:- Класс StringBuffer (java.lang.StringBuffer)

:- Класс StringBuilder (java.lang.StringBuilder)

Строковый класс

Таким образом, функции, которые облегчает класс String:

Что означает неизменяемые строки?

Строковые классы являются неизменяемыми, что означает, что после создания объекта этого класса мы не можем сохранять значения в том же объекте после внесения каких-либо изменений. Таким образом, мы можем иметь изменения в этом объекте и можем сохранять в том же самом, но программист должен писать явно.

Строки неизменяемы, потому что значение строк хранится в пуле констант строк.

Пул строковых констант является частью памяти, которая имеет функцию, заключающуюся в том, что все строковые литералы с одинаковым значением ссылаются на один и тот же объект всякий раз, когда создается новый объект с тем же значением, которое уже присутствует в пуле, не создается каждый раз заново, а просто начинается с этого литерала. ссылка на уже существующий объект.

Итак, если класс String какое-то время является изменчивым, он является ссылкой на один или несколько объектов String с одинаковым значением, поэтому с ним действуют другие.

2. Способы создания объектов String в классе String

  1. Строковые литералы
  2. новое ключевое слово

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

синтаксис: String var_name="String value";

например, String str="добро пожаловать в Java";

  • Когда мы создаем строку этого типа, объект создается в пуле констант String с особенностью, что те строки, содержимое значения которых создается только один раз, и ссылка на этот объект предоставляется всем переменным, имеющим одинаковое значение.
  • Меньшее потребление памяти.

Но когда кодируется новое содержимое String, оно получает другой объект.

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

синтаксис: String var_name=new String("content");

  • В этом типе инициализации строковой переменной создание объекта происходит все время, когда создается синтаксис или объект, хотя в пуле строковых констант уже присутствует такое же содержимое.
  • Он занимает память в куче, но не в пуле констант String.