Java枚举EventBusAddress的name()方法返回值咨询
问题解答
嘿,这个问题其实很好理解,咱们直接说结论:
调用EventBusAddress.TRADE_PAIR.name()会返回字符串 "TRADE_PAIR"。
原因说明
在Java里,枚举类的name()方法是一个final方法,它的作用就是返回枚举常量声明时的原始字面量名称——也就是你在枚举定义里写的那个标识符,大小写和格式完全一致。
举个例子,你的枚举定义是:
public enum EventBusAddress{ TRADE_PAIR, ORDER }
这里的TRADE_PAIR是你声明的枚举常量名称,所以调用它的name()方法,就会原封不动返回这个名称对应的字符串。
顺便提一句,虽然toString()方法默认和name()返回结果一样,但toString()是可以被重写的,而name()因为是final的,无法被修改,所以如果需要获取枚举常量的原始声明名称,name()是更可靠的选择。
内容的提问来源于stack exchange,提问作者Satish_Mhetre
相关产品推荐
相关产品推荐

