繁体   English   中英

NAME(“ name”,true),true在这里做什么?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM