「Java]java.lang.Enum.clone()メソッドを使うサンプル
java.lang.Enum.clone()説明
enumが複製されないことを保証します。「シングルトン」ステータスを保持するために必要です。
Javaコード
package com.arkgame.study;
public class LangEnumDemo {
//enum definition
enum User {
AA(21), BB(25);
int age;
User(int p) {
age = p;
}
int showAge() {
return age;
}
}
@SuppressWarnings("unused")
public static void main(String[] args) {
System.out.println("Enums can never be cloned");
LangEnumDemo tt = new LangEnumDemo() {
protected final Object clone() throws CloneNotSupportedException {
throw new CloneNotSupportedException();
}
};
System.out.println("Enums list");
for (User m : User.values()) {
System.out.println(m + " age " + m.showAge() + " 1111");
}
}
}
結果
Enums can never be cloned
Enums list
AA age 21 1111
BB age 25 1111