Безопасно ли клонировать передачу перечисления классов клону?

У меня есть простой класс, который содержит скелет для гораздо более крупного и громоздкого класса. Весь этот скелет - это идентификатор строки, перечисление типов и некоторые флаги для параметров.

Я хотел бы иметь возможность клонировать этот скелет, но я не знаю, является ли перечисление безопасным для клонирования (передача по значению). Я думаю, что это не так, поскольку они рассматриваются как классы (передаются по ссылке). Безопасно ли просто передать перечисление в клон?

Пример для ясности:

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;
    }
}
5
задан Andres F. 17 January 2012 в 03:15
поделиться