描述
這個java.lang.Enum.clone() 方法保證枚舉永遠不會被克隆,這對於保留它們的 "singleton" 狀態是必要的。
聲明
以下是聲明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
相關用法
- Java Java.lang.Enum.compareTo()用法及代碼示例
- Java Java.lang.Enum.getDeclaringClass()用法及代碼示例
- Java Java.lang.Enum.finalize()用法及代碼示例
- Java Java.lang.Enum.name()用法及代碼示例
- Java Java.lang.Enum.toString()用法及代碼示例
- Java Java.lang.Enum.hashCode()用法及代碼示例
- Java Java.lang.Enum.ordinal()用法及代碼示例
- Java Java.lang.Enum.equals()用法及代碼示例
- Java Java.lang.Enum.valueOf()用法及代碼示例
- Java Java.lang.String.endsWith()用法及代碼示例
- Java Java.lang.Integer.toHexString()用法及代碼示例
- Java Java.lang.Float.shortValue()用法及代碼示例
- Java Java.lang.Character.isSpaceChar()用法及代碼示例
- Java Java.lang.Process.getInputStream()用法及代碼示例
- Java Java.lang.Math.IEEEremainder()用法及代碼示例
- Java Java.lang.String.codePointCount()用法及代碼示例
- Java Java.lang.Boolean.parseBoolean()用法及代碼示例
- Java Java.lang.Long.decode()用法及代碼示例
- Java Java.lang.Character.toTitleCase()用法及代碼示例
- Java Java.lang.Class.getResource()用法及代碼示例
注:本文由純淨天空篩選整理自 Java.lang.Enum.clone() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。