У меня есть простой класс, который содержит скелет для гораздо более крупного и громоздкого класса. Весь этот скелет - это идентификатор строки, перечисление типов и некоторые флаги для параметров.
Я хотел бы иметь возможность клонировать этот скелет, но я не знаю, является ли перечисление безопасным для клонирования (передача по значению). Я думаю, что это не так, поскольку они рассматриваются как классы (передаются по ссылке). Безопасно ли просто передать перечисление в клон?
Пример для ясности:
class A {
String id;
Enum state;
int flags;
A clone() {
A ret = new A();
ret.id = id;
ret.state = state; // Am I safe here?
ret.flags = flags;
return ret;
}
}