java.lang.Enum.clone()%uA0方法保证永远不会复制枚举,这是必要的,以保持自己的“singleton”状态。
声明
以下是java.lang.Enum.clone()方法的声明
protected final Object clone() throws CloneNotSupportedException
参数
-
NA
返回值
此方法不返回任何值。
异常
-
CloneNotSupportedException%uA0--%uA0如果对象的类不支持Cloneable接口。子类覆盖clone方法也会抛出此异常,以指示一个实例不能被克隆。
例子
下面的例子显示java.lang.Enum.clone()方法的使用。
package com.yiibai 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