Java中使用instanceof判斷類型時?
答案是不需要,在調用instanceof之前不需進行null值判斷,為什么呢?
我們來看jdk文檔中的說明
At run time, the result of the instanceof operator is true if the value of the RelationalExpression is not null and the reference could be cast (§15.16) to the ReferenceType without raising a ClassCastException. Otherwise the result is false。
在運行時,只有當引用值不是null并且能夠強轉不拋類轉換異常則返回true,否則返回false。
那么定義
Object a = null;
a instanceof Integer 返回false。