Sobes.tech
Junior — Middle
167

Welke aspecten moeten worden overwogen bij het maken van een kopie van een object dat een instantie is van een klasse met onveranderlijke eigenschappen?

Antwoord van AI

sobes.tech AI

При создании копии объекта с неизменяемыми (immutable) свойствами в Java важно учитывать, что:

  • Сам объект, будучи неизменяемым, не требует глубокого клонирования, так как его состояние не изменится.
  • Копия может быть просто ссылкой на тот же объект, так как изменение невозможно.
  • Если класс содержит ссылки на изменяемые объекты, нужно убедиться, что они тоже неизменяемы или клонированы, чтобы избежать побочных эффектов.

Пример:

public final class ImmutablePoint {
    private final int x;
    private final int y;

    public ImmutablePoint(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public int getX() { return x; }
    public int getY() { return y; }

    // Копия может быть просто возвращением того же объекта
    public ImmutablePoint copy() {
        return this; // безопасно, так как объект неизменяем
    }
}