我想将此示例C#代码转换为java代码:
public enum myEnum {
ONE = "one",
TWO = "two",
};
Run Code Online (Sandbox Code Playgroud)
因为我想将这个常量类更改为枚举
public final class TestConstants {
public static String ONE = "one";
public static String TWO= "two";
}
Run Code Online (Sandbox Code Playgroud)
Boz*_*zho 86
public enum MyEnum {
ONE(1),
TWO(2);
private int value;
private MyEnum(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
Run Code Online (Sandbox Code Playgroud)
简而言之 - 只要您提供构造函数参数(并将值设置为相应的字段),您就可以为枚举定义任意数量的参数
正如Scott所说 - 官方枚举文档为您提供了答案.始终从语言功能和结构的官方文档开始.
更新:对于字符串,唯一的区别是您的构造函数参数是String,并且您使用声明枚举TEST("test")
JB *_*zet 14
枚举是Java 中的类.它们有一个隐含的序数值,从0开始.如果你想存储一个额外的字段,那么就像对任何其他类一样:
public enum MyEnum {
ONE(1),
TWO(2);
private final int value;
private MyEnum(int value) {
this.value = value;
}
public int getValue() {
return this.value;
}
}
Run Code Online (Sandbox Code Playgroud)
很简单如下:
/**
* @author The Elite Gentleman
*
*/
public enum MyEnum {
ONE("one"), TWO("two")
;
private final String value;
private MyEnum(final String value) {
this.value = value;
}
public String getValue() {
return value;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return getValue();
}
}
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请访问Oracle Java教程中的枚举类型.另外,请记住枚举有私有构造函数.
更新,因为你已经更新了你的帖子,我已经将我的价值从a int改为a String.
相关: Java String枚举.
小智 5
嗯,在Java中,您还可以创建一个参数化的枚举。假设您要创建一个className枚举,您需要在其中存储classCode和className,可以这样进行:
public enum ClassEnum {
ONE(1, "One"),
TWO(2, "Two"),
THREE(3, "Three"),
FOUR(4, "Four"),
FIVE(5, "Five")
;
private int code;
private String name;
private ClassEnum(int code, String name) {
this.code = code;
this.name = name;
}
public int getCode() {
return code;
}
public String getName() {
return name;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
115803 次 |
| 最近记录: |