Рубрики
Без рубрики

За сценой объединения двух строк с использованием оператора +(плюс).

Внутренняя работа оператора ” + ” при добавлении двух строк.

Автор оригинала: Nikunj Gupta.

Любой разработчик Java должен был использовать одно из следующих действий при работе со строками.

  • Строка + "мир";
  • Строка + "из Java";
  • Строка + str2;

Вышеперечисленные 3 способа объединения строки с помощью оператора + работают по-разному. Давайте разберемся с ними по очереди.

1. Строка + “мир”;

Возможно, вы думаете, что приведенный выше код использует два строковых литерала и объединяет их для создания новой строки. Но это не то, что происходит. Компилятор java (javac) является интеллектуальным, он обнаружит, что вы пытаетесь добавить два строковых литерала и автоматически преобразуете Строку + "мир"; в Строку; при создании файла “.class”.

2. Строка + “из Java”;

Это снова просто кажется, что добавляются две строки, одна из которых является строковым объектом, а другая-строковым литералом. За кадром код для этого выглядит так – String StringBuilder(str).append("из Java").toString(); . Да, оператор + внутренне использует метод append() StringBuilder для объединения двух строк.

3. Строка + str2;

То же самое относится и к этому, он также использует метод append() StringBuilder. За кадром кода это будет выглядеть так – String StringBuilder(str1).добавить(str2).toString();

Оригинал: “https://www.codementor.io/@nikunjgupta/behind-the-scene-of-a-concatenation-of-two-strings-using-plus-operator-10ad7v8f38”