Sobes.tech
Junior — Middle

Werden bei der Durchführung einer String-Konkatenationsoperation mit dem Operator '+', zwei separate String-Objekte erstellt?

sobes.tech KI

Antwort von AI

В Java оператор '+' для конкатенации строк не создаёт два отдельных объекта строки. При использовании '+' компилятор обычно преобразует выражение в вызов StringBuilder, который эффективно объединяет строки без создания множества промежуточных объектов.

Например, код:

String result = "Hello, " + "world!";

Компилируется примерно в:

String result = new StringBuilder()
    .append("Hello, ")
    .append("world!")
    .toString();

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