我正在阅读 J.Bloch 的 Effective Java 并提出以下内容(关于枚举的 Setcion):
Far fewer enums benefit from associating multiple behaviors with a single method. In this relatively rare case, prefer constant-specific methods to enums that switch on their own values
对我来说,这种使用编译时常量的情况并不清楚。您不能提供一个反射(reflect)这一点的简单示例吗?
最佳答案
我认为该段落中讨论的是以下内容之间的比较:
void myMethod(MyEnum enum){
switch(enum){
case VALUE1:
break;
case VALUE2:
break;
}
}
和
enum MyEnum{
VALUE1(){
protected void myMethod(){
//body
}
},
VALUE2(){
protected void myMethod(){
//body
}
}
protected abstract void myMethod();
}
关于java - 在某些特定情况下更喜欢编译时常量而不是枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32817531/