instanceof运算符会产生很多开销吗?为什么?


问题内容

在我的项目中,我的一个同事非常反对使用instanceof运算符,因为它“会产生大量开销”,这是什么原因呢?是真的吗

还有另一种方法可以检查对象的类型而不使用它?

因为我发现它在某些情况下非常有用。


问题答案:

确实产生一些开销,再加上后续的转换。使用最新版本的Java,开销已减少。但是无论如何,这都是微优化-也就是说,在一般情况下,您不必为此担心。

真正的反对意见instanceof是,在许多情况下,有更好的OOP方法可以实现所需的行为。