以下哪个更好?
a instanceof B
要么
B.class.isAssignableFrom(a.getClass())
我知道的唯一区别是,当“ a”为null时,第一个返回false,而第二个抛出异常。除此之外,它们是否总是给出相同的结果?
使用时instanceof,你需要B在编译时知道类。使用isAssignableFrom()时可以是动态的,并且可以在运行时更改。
instanceof
isAssignableFrom()