java中instanceof用法
java 中的instanceof 運算子是用來在運行時指出對象是否是特定類的一個執行個體。instanceof通過返回一個布爾值來指出,這個對象是否是這個特定類或者是它的子類的一個執行個體。
用法:
result = object instanceof class
參數:
Result:布爾類型。
Object:必選項。任意對象運算式。
Class:必選項。任意已定義的對象類。
說明:
如果 object 是 class 的一個執行個體,則 instanceof 運算子返回 true。如果 object 不是指定類的一個執行個體,或者 object 是 null,則返回 false。
例子如下:
package com.instanceoftest;
interface A{}
class B implements A{
}
class C extends B {
}
class instanceoftest {
public static void main(String[] args){
A a=null;
B b=null;
boolean res;
System.out.println(instanceoftest test case 1: ------------------);
res = a instanceof A;
System.out.println(a instanceof A: + res);
res = b instanceof B;
System.out.println(b instanceof B: + res);
System.out.println(/ninstanceoftest test case 2: ------------------);
a=new B();
b=new B();
res = a instanceof A;
System.out.println(a instanceof A: + res);
res = a instanceof B;
System.out.println(a instanceof B: + res);
res = b instanceof A;
System.out.println(b instanceof A: + res);
res = b instanceof B;
System.out.println(b instanceof B: + res);
System.out.println(/ninstanceoftest test case 3: ------------------);
B b2=(C)new C();
res = b2 instanceof A;
System.out.println(b2 instanceof A: + res);
res = b2 instanceof B;
System.out.println(b2 instanceof B: + res);
res = b2 instanceof C;
System.out.println(b2 instanceof C: + res);
}
}
/*
result:
instanceoftest test case 1: ------------------
a instanceof A: false
b instanceof B: false
instanceoftest test case 2: ------------------
a instanceof A: true
a instanceof B: true
b instanceof A: true
b instanceof B: true
instanceoftest test case 3: ------------------
b2 instanceof A: true
b2 instanceof B: true
b2 instanceof C: true
*/