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

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

  • String str1 = "hello " + "world";
  • String str2 = str + "of Java";
  • String str3 = str1 + str2;

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

1. String str1 = "hello " + "world";

Вы можете подумать, что приведенный выше код принимает два строковых литерала и объединяет их для создания новой строки. Но это не то, что происходит. Компилятор Java (javac) умен, он обнаружит, что вы пытаетесь добавить два строковых литерала, и автоматически преобразует String str1 = "hello " + "world"; к String str1 = "hello world"; при создании файла «.class».

2. String str2 = str + "of Java";

Это снова выглядит так, как будто добавляются две строки, одна из которых является строковым объектом, а другая — строковым литералом. Код за кулисами выглядит так: String str2 = new StringBuilder(str).append("of Java").toString();. Да, + оператор внутренне использует append() метод StringBuilder для объединения двух строк.

3. String str3 = str1 + str2;

То же самое и с этим, он также использует append() метод StringBuilder. Код за сценой будет выглядеть так: String str3 = new StringBuilder(str1).append(str2).toString();

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *