Junior — Middle
Jak lze v paměti rozdělit dvě identické řetězce tak, aby zaujímaly různá místa na haldě?
sobes.tech AI
Odpověď od AI
В Java строки с одинаковым содержанием обычно хранятся в пуле строк (String Pool), что позволяет экономить память и использовать один объект для одинаковых строк.
Чтобы создать две строки с одинаковым содержанием, но расположенные в разных местах памяти (в куче), можно:
- Создать строку с помощью оператора
new String(), который всегда создает новый объект в куче.
Пример:
String s1 = "hello";
String s2 = new String("hello");
System.out.println(s1 == s2); // false, разные объекты
System.out.println(s1.equals(s2)); // true, содержимое одинаковое
Таким образом, s1 — строка из пула, а s2 — новый объект в куче с тем же содержанием.