if (@todayDate_PT = 2)
'query'
else
'query'
我有这样的枚举。 它的使用方式如下:
public enum Properties
{
NAME("name", true) ,
CATEGORY("category",false);
...
}
我的问题是,我似乎正在使用myMap.put(Properties.NAME, name);
中的"name"
?
NAME
值在这里有什么作用? boolean
由于
编辑:
但我的问题是,当我像"NAME("name", true) ,"
这样使用"Properties.NAME"
时,我得到"name"
,我怎样才能真正得到"true"
?
答案 0 :(得分:1)
枚举的构造函数有两个参数:String和boolean。例如:
public enum Properties
{
NAME("name", true),
CATEGORY("category", false);
private final String s;
private final boolean b;
private Properties(String s, boolean b) {
this.s = s;
this.b = b;
}
public String getS() {
return s;
}
public boolean getB() {
return b;
}
}
现在,Properties.NAME.getS()
返回"name"
,Properties.NAME.getB()
返回true
。
Properties.NAME
返回枚举NAME
的对象Properties
,当您将其用作String
时,它会调用方法toString()
(如Java中的所有对象)。 toString()
调用name()
,返回对象的名称。这里"NAME"
。