В чем разница между new string и string? В Java строки (String)… — Java | Вопросы собесов — TG.ME

🤔 В чем разница между new string и string?

В Java строки (String) являются неизменяемыми (immutable) объектами и обрабатываются особым образом, особенно при их создании.

🚩`"Hello"` — строка из пула строк

Когда вы пишете:
String str1 = "Hello";


🚩`new String("Hello")` — создание нового объекта

Когда вы создаёте строку так:
String str2 = new String("Hello");


🚩Разница в сравнении строк

public class StringTest {
public static void main(String[] args) {
String str1 = "Hello";
String str2 = "Hello";
String str3 = new String("Hello");

System.out.println(str1 == str2); // true (ссылаются на один объект в пуле)
System.out.println(str1 == str3); // false (разные объекты в памяти)
System.out.println(str1.equals(str3)); // true (содержимое одинаковое)
}
}


🚩Когда использовать `new String()`?

В 99% случаев new String() не нужен. Его создание расходует память и снижает производительность.
Но он может быть полезен, если вы намеренно хотите создать новый объект, например, для защиты от изменения ссылок:
String safeCopy = new String(originalString); // Теперь это точно отдельный объект


Ставь 👍 и забирай 📚 Базу знаний
👍4
September 1, 2026 373 5