instanceof是java的一个二元操作符(运算符),也是java的保留关键字。它的作用是判断其左边对象是否为其右边类的实例,返回的是boolean类型的数据。用它来判断某个对象是否是某个class类的实例。
用法:
boolean result = object instanceof class
参数:
result :boolean类型。
object :必选项。任意对象表达式。
class:必选项。任意已定义的对象类。
说明:
如果该object 是该class的一个实例,那么返回true。如果该object 不是该class的一个实例,或者object是null,则返回false。
例子:
package com.instanceoftest;
interface a { }
class b implements a { } //b是a的实现
class c extends b { } //c继承b
class d { }
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); // a instanceof a:falseres = b instanceof b;system.out.println("b instanceof b: " + res); // b instanceof b: false
system.out.println("\ninstanceoftest test case 2: ------------------");
a = new b();
b = new b();
res = a instanceof a;
system.out.println("a instanceof a: " + res); // a instanceof a:true
res = a instanceof b;
system.out.println("a instanceof b: " + res); // a instanceof b:true
res = b instanceof a;
system.out.println("b instanceof a: " + res); // b instanceof a:true
res = b instanceof b;
system.out.println("b instanceof b: " + res); // b instanceof b:true
system.out.println("\ninstanceoftest test case 3: ------------------");
b b2 = new c();
res = b2 instanceof a;
system.out.println("b2 instanceof a: " + res); // b2 instanceof a:true
res = b2 instanceof b;
system.out.println("b2 instanceof b: " + res); // b2 instanceof a:true
res = b2 instanceof c;
system.out.println("b2 instanceof c: " + res); // b2 instanceof a:true
system.out.println("\ninstanceoftest test case 4: ------------------");
d d = new d();
res = d instanceof a;
system.out.println("d instanceof a: " + res); // d instanceof a:false
res = d instanceof b;
system.out.println("d instanceof b: " + res); // d instanceof b:false
res = d instanceof c;
system.out.println("d instanceof c: " + res); // d instanceof c:false
res = d instanceof d;
system.out.println("d instanceof d: " + res); // d instanceof d:true
}}
以上就是详解java中的instanceof用法的详细内容。