如何从Java枚举中获取价值 [英] How to get value from a Java enum

查看:113
本文介绍了如何从Java枚举中获取价值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个枚举:

  public enum常量{
YES(y), NO(N)
private String value;

常量(String value){
this.value = value;
}
}

我有一个看起来像 public static void main(String [] args){
System.out.println( Constants.YES.toString())
System.out.println(Constants.NO.toString())
}
}

输出是:

  YES 
NO

而不是

  Y 
N

我不知道这里有什么错误? / p>

解决方案

您需要覆盖 toString 您的枚举方法:

  public enum常量{
YES(y),NO(N)

//没有变化

@Override
public String toString(){
return value;
}
}


I have a enum which looks like:

public enum Constants{
  YES("y"), NO("N")
  private String value;

  Constants(String value){
    this.value = value;
  }
}

I have a test class which looks like

public class TestConstants{
 public static void main(String[] args){
   System.out.println(Constants.YES.toString())
   System.out.println(Constants.NO.toString())
 }
}

The output is:

YES
NO

instead of

Y
N

I am not sure what is wrong here ??

解决方案

You need to override the toString method of your enum:

public enum Constants{
    YES("y"), NO("N")

    // No changes

    @Override
    public String toString() {
        return value;
    }
}

这篇关于如何从Java枚举中获取价值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆