我一直在尝试为枚举变量赋值,但我无法成功。
所以我想要的是这两个值optionOne
和optionTwo
。
因此,A.valueOf("THIS");
会带来值A.getOptionOne()
的2和A.getOptionTwo()
的4。
从Eclipse我得到一个错误行
"The nested type A cannot hide an enclosing type" on
<< public enum A {THIS("2","4"), IS("4","7"), REAL("12.5","29")}; >>
我想要一些建议:(
//编辑:我将处理它确实无关的错误消息,我想获得在单个枚举变量上设置两个不同值的方法指南。
public class A {
public enum A {THIS("2","4"), IS("4","7"), REAL("12.5","29")};
private final String optionOne;
private final String optionTwo;
private A(String optionOne, String optionTwo){
this.optionOne= optionOne;
this.optionTwo= optionTwo;
}
public String getOptionOne(){
return optionOne;
}
public String getOptionTwo(){
return optionTwo;
}
}
答案 0 :(得分:3)
错误消息告诉您确切的错误:您的枚举定义隐藏了它所在的同名类的名称。
Java的枚举是一种特殊类型的类,其中枚举常量是唯一允许的实例。因此,您不必将枚举包含在另一个类中。只需在枚举定义中提供方法:
O(N^2)
答案 1 :(得分:1)
我认为您对嵌套类型在Java中的工作方式存在误解。在您的示例中,您有一个名为&#39; A&#39;嵌套枚举也叫做&#39; A&#39;。即使Java允许这个名称冲突(它没有),也会令人困惑。哪个&#39; A&#39;我们会在特定情况下讨论吗?
无论如何,在这种情况下你不需要任何嵌套,你只需要定义这样的常规枚举:
apiVersion: batch/v2alpha1
然后你可以说:
$sql = "INSERT into pay (Mydata,ID,Transaction,ReceiptNo,ServiceID,)
values (date('m/d/Y H:i:s', strtotime(MyData)),'".$getData[1]."','".$getData[2]."','".$getData[3]."','".$getData[4]."')";
您可能会发现它对read up on enum definitions很有用。