Java instanceof演算子の使い方と注意点【サンプルコード付き】
instanceOfキーワードは、オブジェクトが特定のクラスのインスタンスであるか、またはそのサブクラスのインスタンスであるかをチェックするために使用されます。具体的な使用法は以下の通りです:
// 定义一个Animal类
class Animal {}
// 定义一个Dog类,继承自Animal类
class Dog extends Animal {}
public class Main {
public static void main(String[] args) {
// 创建一个Animal对象
Animal animal = new Animal();
// 创建一个Dog对象
Dog dog = new Dog();
// 使用instanceOf关键字检查对象类型
if (animal instanceof Animal) {
System.out.println("animal is an instance of Animal");
}
if (dog instanceof Dog) {
System.out.println("dog is an instance of Dog");
}
// 还可以检查对象是否是父类或接口的实例
if (dog instanceof Animal) {
System.out.println("dog is an instance of Animal");
}
// 如果对象为null,instanceOf判断会返回false
Animal nullAnimal = null;
if (nullAnimal instanceof Animal) {
System.out.println("nullAnimal is an instance of Animal");
} else {
System.out.println("nullAnimal is not an instance of Animal");
}
}
}
上記の例では、animalとdogオブジェクトのタイプをinstanceOfキーワードで個別にチェックし、dogオブジェクトがAnimalのサブクラスであるかどうかを確認しました。最後に、オブジェクトがnullの場合、instanceOf判定がfalseを返すこともデモしました。