Java Class类 isInstance()方法及示例

Class类isInstance()方法

  • isInstance()方法在java.lang包中可用。

  • isInstance()方法用于检查给定对象是否是该类表示的对象的实例。

  • isInstance()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • 在检查给定对象是否与其他对象兼容时,isInstance()方法不会引发异常。

语法:

    public boolean isInstance(Object o);

参数:

  • 它不接受任何参数。

返回值:

此方法的返回类型为boolean,它根据以下情况返回布尔值:

  • 当给定的Object是此类的实例时,它返回true

  • 当给定的Object不是该Class的实例时,它返回false

示例

//Java程序演示示例 
//的boolean isInstance(Object o)方法

public class IsInstanceOfClass {
    public static void main(String[] args) {
        //创建并返回String类
        String str = new String();
        Class cl1 = str.getClass();

        //创建并返回IsInstanceOfClass类
        IsInstanceOfClass in = new IsInstanceOfClass();
        Class cl2 = in .getClass();

        //创建String和Integer类实例
        String s = new String();
        Integer i = new Integer(10);

        //我们正在检查哪个类的实例
        boolean b1 = cl1.isInstance(s);
        boolean b2 = cl2.isInstance(i);

        System.out.print("Is s is an instance of" + " ");
        System.out.println(cl1.getSimpleName() + ": " + b1);

        System.out.print("Is i is an instance of" + " ");
        System.out.println(cl2.getSimpleName() + ": " + b2);
    }
}

输出结果

Is s is an instance of String: true
Is i is an instance of IsInstanceOfClass: false