什么是instanceof用于操作?我见过像这样的东西
if (source instanceof Button) {
//...
} else {
//...
}
Run Code Online (Sandbox Code Playgroud)
但这对我来说都没有意义.我已完成了我的研究,但仅提供了没有任何解释的例子.
由于在其他线程中完成了基准测试(参见/sf/answers/27833221/),因此可以看出Java 6中的instanceof实际上非常快.这是如何实现的?
我知道对于单继承,最快的想法是使用一些嵌套间隔编码,其中每个类维持[低,高]间隔,而instanceof只是间隔包含测试,即2个整数比较.但它是如何制作接口的(因为区间包含仅适用于单继承)?如何处理类加载?加载新的子类意味着必须调整很多间隔.