我正試圖將一些C++代碼翻譯成Java。我正在尋找最好的方式來模擬這種類型的C++模式的在Java中 - 我想枚舉可能是答案,但我接受任何用Java Enum模擬C++枚舉整數
C++代碼:
typedef UInt32 Type;
enum { UNKNOWN, QUIT, SYSTEM, TIMER, LAST }
...
Type newType = UNKNOWN;
Type nextType = LAST + 1;
...
// "Register" the new type
newType = nextType;
nextType++;
...
switch (newType) {
case UNKNOWN:
case QUIT:
...
case LAST:
// Ignore unset or predefined types
default:
// Some type other than the predefined. Do something special
基本上我」 m尋找一種方法來「擴展」Java枚舉的值。
enum Type { UNKNOWN, QUIT, SYSTEM, TIMER, LAST }
不退出削減它。
我喜歡爲強打字製作新對象的想法。
再次,我正在尋找最佳模式在這裏使用。我可以很容易地通過一些公共靜態final int UNKNOWN來浮動,等等。
您是否承諾使用switch語句?還是會有其他派遣機制呢? – 2010-10-05 22:32:30
@Burleigh Bear:代碼中的開關只是確定它是否是未知的。所以是的,可能任何派遣將工作 – Shaun 2010-10-06 00:12:15