详解Java的isInstance(Object obj)方法:判定指定的 Object 是否与此 Class 所表示的对象赋值兼容

  • Post category:Java

Java的isInstance(Object obj)方法是Class类中的方法,用来判断一个对象是否是另一个类或其子类的实例。isInstance(Object obj)方法的方法签名如下:

public boolean isInstance(Object obj)

参数obj表示要判断的对象,返回值为布尔值,表示该对象是否是当前Class类或其子类的实例。

isInstance(Object obj)方法的返回值为布尔类型,如果obj是当前Class类或其子类的实例,则返回true,否则返回false。

以下是isInstance(Object obj)方法的使用示例:

  1. 判断对象是否为String类的实例
String str = "hello, world";
Class strClass = String.class;
boolean isString = strClass.isInstance(str); // true

在这个示例中,我们创建了一个String对象str,并获取其类类型strClass。然后,我们利用isInstance(Object obj)方法判断str是否是String类的实例,并将结果赋给boolean变量isString。由于str是String类的实例,因此isString为true。

  1. 判断对象是否为Animal类或其子类的实例
class Animal {}
class Cat extends Animal {}
class Dog extends Animal {}

Animal animal = new Cat();
Class animalClass = Animal.class;
boolean isAnimal = animalClass.isInstance(animal); // true

在这个示例中,我们定义了Animal类和它的两个子类Cat和Dog。我们创建了一个Cat对象animal,并获取其类类型animalClass。然后,我们利用isInstance(Object obj)方法判断animal是否是Animal类或其子类的实例,并将结果赋给boolean变量isAnimal。由于animal是Animal类或其子类的实例,因此isAnimal为true。

以上就是Java的isInstance(Object obj)方法的完整攻略,其中包含了使用示例。