Строка Java (с примерами)

В этом руководстве мы узнаем о Java Strings, о том, как их создавать, и о различных методах String с помощью примеров.

В Java строка - это последовательность символов. Например, «привет» - это строка, содержащая последовательность символов «h», «e», «l», «l» и «o».

Мы используем двойные кавычки для представления строки в Java. Например,

 // create a string String type = "Java programming";

Здесь мы создали строковую переменную с именем type. Переменная инициализируется строкой Java Programming.

Примечание . Строки в Java не являются примитивными типами (например int, charи т. Д.). Вместо этого все строки являются объектами предопределенного класса с именем String.

И все строковые переменные являются экземплярами Stringкласса.

Пример: создать строку в Java

 class Main ( public static void main(String() args) ( // create strings String first = "Java"; String second = "Python"; String third = "JavaScript"; // print strings System.out.println(first); // print Java System.out.println(second); // print Python System.out.println(third); // print JavaScript ) )

В приведенном выше примере мы создали три строки с именами первая, вторая и третья. Здесь мы напрямую создаем строки как примитивные типы.

Однако есть другой способ создания строк Java (с использованием newключевого слова). Мы узнаем об этом позже в этом руководстве.

Операции со строками Java

Java String предоставляет различные методы для выполнения различных операций со строками. Мы рассмотрим некоторые из наиболее часто используемых строковых операций.

1. Получить длину строки

Чтобы найти длину строки, мы используем length()метод String. Например,

 class Main ( public static void main(String() args) ( // create a string String greet = "Hello! World"; System.out.println("String: " + greet); // get the length of greet int length = greet.length(); System.out.println("Length: " + length); ) )

Вывод

Строка: Здравствуйте! Мировая длина: 12

В приведенном выше примере length()метод вычисляет общее количество символов в строке и возвращает его. Чтобы узнать больше, посетите Java String length ().

2. Соедините две строки

Мы можем соединить две строки в Java с помощью concat()метода. Например,

 class Main ( public static void main(String() args) ( // create first string String first = "Java "; System.out.println("First String: " + first); // create second String second = "Programming"; System.out.println("Second String: " + second); // join two strings String joinedString = first.concat(second); System.out.println("Joined String: " + joinedString); ) )

Вывод

 Первая строка: Java Вторая строка: программирование Присоединенная строка: Java-программирование

В приведенном выше примере мы создали две строки с именами first и second. Обратите внимание на заявление,

 String joinedString = first.concat(second);

Здесь мы concat()объединяем первый и второй метод и назначаем его переменной connectedString.

Мы также можем соединить две строки с помощью +оператора в Java. Чтобы узнать больше, посетите Java String concat ().

3. Сравните две строки

В Java мы можем сравнивать две строки с помощью этого equals()метода. Например,

 class Main ( public static void main(String() args) ( // create 3 strings String first = "java programming"; String second = "java programming"; String third = "python programming"; // compare first and second strings boolean result1 = first.equals(second); System.out.println("Strings first and second are equal: " + result1); // compare first and third strings boolean result2 = first.equals(third); System.out.println("Strings first and third are equal: " + result2); ) )

Вывод

 Первая и вторая строки равны: true Первая и третья строки равны: false

В приведенном выше примере мы создали 3 строки с именами первая, вторая и третья. Здесь мы используем equal()метод, чтобы проверить, равна ли одна строка другой.

В equals()методе проверяет содержимое строк, сравнивая их. Чтобы узнать больше, посетите Java String equals ().

Примечание . Мы также можем сравнить две строки с помощью ==оператора в Java. Однако этот подход отличается от equals()метода. Чтобы узнать больше, посетите Java String == vs equals ().

Методы Java String

Помимо упомянутых выше, в Java присутствуют различные строковые методы. Вот некоторые из этих методов:

Методы Описание
подстрока () возвращает подстроку строки
заменить () заменяет указанный старый символ на указанный новый символ
charAt () возвращает символ, присутствующий в указанном месте
getBytes () преобразует строку в массив байтов
индекс() возвращает позицию указанного символа в строке
по сравнению с() сравнивает две строки в словарном порядке
отделка() удаляет любые начальные и конечные пробелы
формат() возвращает отформатированную строку
Трещина() разбивает строку на массив строк
toLowerCase () преобразует строку в нижний регистр
toUpperCase () преобразует строку в верхний регистр
ценность() возвращает строковое представление указанного аргумента
toCharArray () преобразует строку в charмассив

Экранирующий символ в строках Java

Управляющий символ используется для экранирования некоторых символов, присутствующих в строке.

Предположим, нам нужно включить двойные кавычки внутри строки.

 // include double quote String example = "This is the "String" class";

Since strings are represented by double quotes, the compiler will treat "This is the " as the string. Hence, the above code will cause an error.

To solve this issue, we use the escape character in Java. For example,

 // use the escape character String example = "This is the "String " class.";

Now escape characters tell the compiler to escape double quotes and read the whole text.

Java Strings are Immutable

In Java, strings are immutable. This means, once we create a string, we cannot change that string.

To understand it more deeply, consider an example:

 // create a string String example = "Hello! ";

Here, we have created a string variable named example. The variable holds the string "Hello! ".

Now suppose we want to change the string.

 // add another string "World" // to the previous tring example example = example.concat(" World");

Here, we are using the concat() method to add another string World to the previous string.

It looks like we are able to change the value of the previous string. However, this is not true.

Let's see what has happened here,

  1. JVM takes the first string "Hello! "
  2. creates a new string by adding "World" to the first string
  3. assign the new string "Hello! World" to the example variable
  4. the first string "Hello! " remains unchanged

Creating strings using the new keyword

So far we have created strings like primitive types in Java.

Since strings in Java are objects, we can create strings using the new keyword as well. For example,

 // create a string using the new keyword String name = new String("Java String");

In the above example, we have created a string name using the new keyword.

Here, when we create a string object, the String() constructor is invoked. To learn more about constructor, visit Java Constructor.

Note: The String class provides various other constructors to create strings. To learn more, visit Java String (official Java documentation).

Example: Create Java Strings using the new keyword

 class Main ( public static void main(String() args) ( // create a string using new String name = new String("Java String"); System.out.println(name); // print Java String ) )

Create String using literals vs new keyword

Now that we know how strings are created using string literals and the new keyword, let's see what is the major difference between them.

In Java, the JVM maintains a string pool to store all of its strings inside the memory. The string pool helps in reusing the strings.

While creating strings using string literals, the value of the string is directly provided. Hence, the compiler first checks the string pool to see if the string already exists.

  • Если строка уже существует , новая строка не создается. Вместо этого новая ссылка указывает на существующую строку.
  • Если строка не существует , создается новая строка.

Однако при создании строк с использованием ключевого слова new значение строки напрямую не предоставляется. Следовательно, новая строка создается все время.

Интересные статьи...