TGViewer
Java | Вопросы собесов Java | Вопросы собесов @easy_java_ru · 11.3K subscribers
Post #2283 2.5K
🤔 В чем разница между 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); // Теперь это точно отдельный объект


Ставь 👍 и забирай 📚 Базу знаний
  • 👍 5
More from @easy_java_ru
  1. Oct 3, 2026🤔 В каких состояниях может находиться поток? Поток может находиться в следующих состояния…
  2. Oct 3, 2026Post #2938
  3. Oct 3, 2026🤔 Что такое Appender в log4j? Это компонент, который отвечает за отправку логов в различн…
  4. Oct 3, 2026Post #2936
  5. Oct 2, 2026🤔 Что такое временная сложность? Временная сложность — это оценка времени выполнения алго…
  6. Oct 2, 2026🤔 Что такое синхронизация и зачем она нужна? Синхронизация — это механизм, который исполь…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →