簡體   English   中英

我如何從Java中的枚舉中獲取設置的整數,字符串值?

[英]how can i get set integer, string value from my Enum in Java?

如何在枚舉中預定義任何類型的值?

public enum Hardware
{
    USB2(0) = "external low speed",
    PCI(1)  = "embedded",
    USB3(2) = "external high speed
}

System.out.println( Hardware.USB2 ) // show me external low speed

您可以在enums定義members 然后覆蓋toString()

您可以定義一個getDesc()方法,該方法最好是IMO重寫toString()

public enum Hardware
{
    USB2(0, "external low speed"),
    PCI(1,"embedded"),
    USB3(2,"external high speed");

    private String desc;
    private int id;

    private Hardware(int id, String desc) {
        this.id = id;
        this.desc = desc;
    }

    @Override
    public String toString() {
        return this.desc;
    }
}

請注意,此解決方案從Java版本1.5開始可用

enum Hardware
{
    USB2("external low speed"),
    PCI("embedded"),
    USB3("external high speed");

    private String val;

    private Hardware(String val){
        this.val = val;
    }

    public String toString(){
        return val;
    }
}
public enum Hardware {
    USB2(0, "external low speed"),
    PCI(1,"embedded"),
    USB3(2,"external high speed);

    String desc;
    int id;

    public Hardware(int id, String desc) {
        this.id = id;
        this.desc = desc;
    }

    public String toString() {
        return this.desc;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM