Sobes.tech
Назад к вопросам
Junior — Middle
61

Если создать два объекта с одинаковым идентификатором, будут ли они занимать одинаковое место в памяти и ссылаться на один и тот же экземпляр?

Компании, где спрашивали
One To Work

Ответ от нейросети

sobes.tech AI

В Java два объекта с одинаковым идентификатором (например, одинаковым значением поля id) — это разные экземпляры в памяти, если они созданы через new. Они занимают разные участки памяти и не ссылаются на один и тот же объект.

Пример:

class User {
    int id;
    User(int id) { this.id = id; }
}

User u1 = new User(1);
User u2 = new User(1);

System.out.println(u1 == u2); // false — разные объекты

Если нужно, чтобы объекты с одинаковым идентификатором были одним экземпляром, нужно реализовать паттерн "фабрика" или "кеширование" объектов, например, через паттерн Singleton или пул объектов.