[英]NAME(“name”, true), what does true do here?
public enum Properties
{
NAME("name", true) ,
CATEGORY("category",false);
...
}
我有一个这样的枚举。 它的用法是这样的:
myMap.put(Properties.NAME, name);
我的问题是,似乎我正在使用NAME
的"name"
? 这个boolean
值在这里做什么? "NAME("name", true) ,"
谢谢
编辑:
但是我的问题是,当我像"Properties.NAME"
这样使用它时,我正在获得"name"
,实际上如何才能获得"true"
呢?
枚举的构造函数有两个参数: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
返回枚举Properties
的对象NAME
,当您将其用作String
,它将调用方法toString()
(类似于Java中的所有对象)。 然后toString()
调用name()
来返回对象的名称。 在这里"NAME"
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.