Java.lang.Enum.clone() 方法
描述
java.lang.Enum.clone() 方法保证枚举永远不会被克隆,这是保持它们的"单例"状态所必需的。
声明
以下是 java.lang.Enum.clone() 方法的声明。
protected final Object clone() throws CloneNotSupportedException
参数
NA
返回值
此方法不返回任何值。
异常
CloneNotSupportedException − 如果对象的类不支持 Cloneable 接口。 覆盖 clone 方法的子类也可以抛出此异常,表示无法克隆实例。
示例
下面的例子展示了 java.lang.Enum.clone() 方法的使用。
package com.tutorialspoint; import java.lang.*; // enum showing Mobile prices enum Mobile { Samsung(400), Nokia(250); int price; Mobile(int p) { price = p; } int showPrice() { return price; } } public class EnumDemo { public static void main(String args[]) { System.out.println("Enums can never be cloned..."); EnumDemo t = new EnumDemo() { protected final Object clone() throws CloneNotSupportedException { throw new CloneNotSupportedException(); } }; System.out.println("CellPhone List:"); for(Mobile m : Mobile.values()) { System.out.println(m + " costs " + m.showPrice() + " dollars"); } } }
让我们编译并运行上面的程序,这将产生下面的结果 −
Enums can never be cloned... CellPhone List: Samsung costs 400 dollars Nokia costs 250 dollars