[英]How to port enums with assigned values from C to Java?
我試圖將一個非常簡單的應用程序從C移植到Java。 不幸的是,我之前在枚舉方面工作不多,因此以下代碼使我感到困惑:
typedef enum {
LT = 0,
LTE = 1,
E = 2,
GTE = 3,
GT = 4
} S;
根據我的理解,數字是代表每個枚舉的值。
我該如何在Java中做同樣的事情?
我應該采取這種方法嗎
private enum S{
LT,
LTE,
E,
GTE,
GT
}
要么
這種方法?
private enum S{
LT(0),
LTE(1),
E(2),
GTE(3),
GT(4);
private int code;
S(int code) {
this.code = code;
}
public int getCode() {
return code;
}
}
如果Java中的枚舉已經從0開始,那么添加第二種方法將有點多余。 我很困惑...
您應該采用第一種方法。 Java中的enum
常量的偉大之處在於它們不是 int
值,因此您無需以這種方式為其分配值。
如果出於某種原因您需要了解enum
常量的索引(而且這種情況很少見),則可以執行LT.ordinal()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.