В моем приложении Java у меня есть такие конструкторы-копии, как этот
public MyClass(MyClass src) {
this.field1 = src.field1;
this.field2 = src.field2;
this.field3 = src.field3;
...
}
Теперь Netbeans 6.9 предупреждает об этом, и мне интересно, что не так с этим кодом?
Мои проблемы:
- Использование геттеров может привести к нежелательным побочным эффектам. Новый объект больше не может считаться копией оригинала.
- Если рекомендуется использовать геттеры, не было бы более последовательным, если бы вы использовали сеттеры для нового экземпляра?
РЕДАКТИРОВАТЬ: Фактическое предупреждение - "Доступ к закрытому полю другого объекта" и единственное доступное действие. Предложения Netbeans добавляют @SuppressWarnings("AccessingNonPublicFieldOfAnotherObject")
Мой код на самом деле такой же тривиальный, как в данном примере.