NAME(" name",true),这里有什么用?

时间:2015-04-27 19:03:14

标签: java

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"

1 个答案:

答案 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"