先看下面的程序:
public class Type2 {
public static void main(String[] args) {
String a = null;
String b = new String();
System.out.println("a instanceof String :" + (a instanceof String));
System.out.println("b instanceof String :" + (b instanceof String));
}
}
結果是
a instanceof String :false
b instanceof String :true
也就是說如果一個對象的值爲null的話,那麼它不能算是任何類型的類對象。
這裏還有一個有趣的現象,如果
public class Type2 {
public static void main(String[] args) {
String a = null;
String b = new String();
System.out.println("a instanceof String :" + a instanceof String);
System.out.println("b instanceof String :" + b instanceof String);
}
}
將b instanceof String外邊的括號去掉的話,結果又會變成
true
true
也就是說instanceof 運算符的優先級要低於“+”的優先級。