在 java 中将不强制转换的接口变量与枚举值进行比较



是否有规范或文档来说明为什么这种比较有效?

static void sout(final Interface i) {
if(i == Enum.TWO) {
...
}
}
...
public enum Enum implements Interface{
ONE, TWO, THREE
}

那么为什么不需要演员或instanceof呢?

谢谢你@AndyTurner!这就是我一直在寻找的。

不需要实例或显式强制转换:

如果无法将任一操作数的类型转换为另一个操作数的类型,则为编译时错误...

在运行时,这是一个正常的对象相等。

相关内容

  • 没有找到相关文章