Что нужно знать об использовании строк в Java

Что нужно знать об использовании строк в Java

Как только вы начнете изучать Java, класс String привлечет ваше внимание благодаря своим уникальным свойствам.





Вы можете создавать строки и управлять ими в Java более легко, чем в других языках. Это потому, что класс String предлагает различные функции.





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





Чем отличаются строки Java?

Если вы ранее работали с языком C, вы знаете, что строки в C представляют собой массив символы (символы). С другой стороны, строки Java неизменяемы и содержат символы Unicode.

совместимы ли игры для ps4 с ps5

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



Кроме того, как упоминалось ранее, строки Java неизменяемы, т. Е. Вы не можете их изменять. Например, такие методы, как toUpperCase () а также toLowerCase () генерировать полностью новую строку вместо того, чтобы вносить изменения в существующее содержимое строки. Теперь ваш код вернет эту вновь созданную строку.

Связанный: Как управлять текстом в PHP с помощью этих функций





Другая область, где строки отличаются, - это использование нулевых символов для завершения строк в таких языках, как C. В Java строки - это объекты, поддерживаемые символьными массивами. Если вы хотите читать содержимое своей строки в том виде, в каком их представляют массивы символов, используйте toCharArray () метод сделает свою работу.

Сравнение строк в Java также удобнее, чем в других языках программирования. Вместо того, чтобы писать длинный блок кода для сравнения строк, вы можете использовать равно () метод сравнения двух или более строк, используемых в любой программе. Это главным образом потому, что в Java равно переопределяется классом String, что упрощает сравнение строк.





Аналогичным образом, поиск в подстроках в Java также не вызывает проблем. При использовании регулярных выражений или такие методы, как lastIndexOf () а также индекс(), вы можете искать сегменты строк и возвращать значения после определения совпадения. Вы также можете использовать регулярные выражения для обрезки и разделения различных строк и использования их по отдельности для самых разных целей в любой программе.

Как строки хранятся в памяти?

Теперь, когда вы знаете, что делает строки в Java разными и полезными, давайте рассмотрим класс String. Если вы кое-что знаете об управлении памятью в Java, значит, вы имели дело с двумя его ключевыми сущностями: кучей и стеком.

Стек используется для выполнения процессов и операций после вызова программой Java, тогда как в куче хранится контент, необходимый для эффективного выполнения и выполнения кода. Итак, какое отношение имеет управление памятью в случае строк?

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

Напротив, когда вы используете новый ключевое слово для создания строковых объектов, Java будет обрабатывать их так же, как любой другой объект, и отправлять их в кучу для хранения.

Пример строковых литералов

Теперь, когда вы достаточно знаете о строковых объектах, давайте рассмотрим пример строковых литералов:


public class muostrings {
public static void main(String args[])
{
String himuo = 'Hello World from MUO';
System. out .println (himuo);
}
}

Здесь строковый литерал создал объект String с содержимым Hello World из MUO. Java отправит этот объект в пул констант строк.

Использование нового ключевого слова

Вы также можете использовать новый ключевое слово для создания объектов String.

Строковый объект строки himuo с содержимым Hello World из MUO был сгенерирован строковым литералом и будет отправлен в пул констант строк. Точно так же строковые объекты также могут быть созданы с использованием ключевого слова new следующим образом:


public class muostringsobj {
public static void main(String args[]) {
char [] strArr = { 'M', 'O', 'U'};
String jStr = new String(strArr);
System. out .println( jStr );
}
}

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

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

Могут ли два строковых объекта хранить одно и то же содержимое?

Когда строковый литерал используется для создания нового объекта, виртуальная машина Java (JVM) просматривает содержимое объекта и оценивает, существует ли он уже в пуле. Когда объект содержит контент, который уже присутствует в пуле, ссылка на объект возвращается без создания нового объекта. Если вы должны создать новый объект, вы должны убедиться, что его содержимое отличное и уникальное.

Однако, если вы используете новый ключевое слово для создания новой строки, она будет обрабатываться иначе. Когда вы используете новый ключевое слово для создания новой строки, она будет сгенерирована независимо от того, содержит ли она то же содержимое, что и существующая строка.

Это указывает на то, что двум существующим строковым объектам, хранящимся в памяти кучи, разрешено иметь одно и то же содержимое; это отличается от строковых объектов, хранящихся в пуле констант строк. Вы также можете доказать это с помощью оператора ==; он возвращает истину, если сравниваются два объекта с одинаковым физическим адресом.


public class comparingStrngs {
public static void main(String[] args)
{
String firstLiteral = 'muo1';
String secondLiteral = 'muo1';
System. out .println(firstLiteral == secondLiteral);
String firstKeyword = new String('muo2');
String secondKeyword = new String('muo2');
System. out .println(firstKeyword == secondKeyword);
}
}

Теперь вы можете легко понимать строки в Java

В этой статье вы узнали, чем отличаются строки в Java, способы использования строк в Java, управление памятью строк в Java и другие важные детали того, как работают строки. Чтобы проверить свое понимание, почему бы не написать программу на Java для объединения двух строк?

Делиться Делиться Твитнуть Эл. адрес Изучение Python? Вот как манипулировать строками

Использование строк и управление ими в Python может показаться трудным, но это обманчиво просто.

Читать далее
Похожие темы
  • Программирование
  • Джава
Об авторе Усман Гани(Опубликовано 4 статей)

Усман - контент-маркетолог, который помог нескольким компаниям добиться органического роста на цифровых платформах. Ему нравится как программирование, так и письмо, а это значит, что техническое письмо - это то, что ему очень нравится. В свободное от работы время Усман любит проводить время за просмотром телешоу, крикетом и чтением об аналитике данных.

Ещё от Usman Ghani

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Нажмите здесь, чтобы подписаться