以下哪项更好?
a instanceof B
或
B.class.isAssignableFrom(a.getClass())
我所知道的唯一区别是,当'a'为null时,第一个返回false,而第二个抛出异常.除此之外,他们总是给出相同的结果吗?
以下哪项更好?
a instanceof B
或
B.class.isAssignableFrom(a.getClass())
我所知道的唯一区别是,当'a'为null时,第一个返回false,而第二个抛出异常.除此之外,他们总是给出相同的结果吗?
使用instanceof
时,需要在编译时了解B
的类.当使用isAssignableFrom()
时,它可以是动态的,并且在运行时会发生变化.