instanceof 运算符是用来在运行时指出左边对象是否是右边特定类的一个实例。通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
String str = "abc";
System.out.println(str instanceof String);
System.out.println(str instanceof Object);
}
}
由上面代码很容易看明白 str是String及Object的实例,所以输出true。
注意:
1)null值不是任何对象的实例,所以下面这个例子返回了false,无论这个变量声明的是什么类型。
String s = null;
System.out.println(s instanceof String);
// false
2)instanceof也可以正确的报告一个对象是否是数组和特定的接口类型。
if ( foo instanceof byte[] )