instanceof运算符是否会产生大量开销?为什么?

Cri*_*tes 5 java optimization casting

我的项目中有一位同事,他深深反对instanceof运营商的使用,因为它"产生了大量的开销",原因是什么?这是真的吗?

有没有其他方法来检查对象的类型而不是使用它?

因为我发现它在某些场合非常有用.

Boz*_*zho 14

它确实产生了一些开销,并与后续的铸造相结合.随着最新版本的Java,开销减少了.但无论如何,这是微观优化 - 即在一般情况下你不应该担心它.

真正的反对意见instanceof是,在许多情况下,有更好的OOP方法来实现所期望的行为.