Javaでinstanceofを使用してオブジェクトの型を判断の方法
Java では、instanceof キーワードを使用して、オブジェクトが特定のクラスまたはそのサブクラスのインスタンスかどうかを判断できます。 instance of はブール値を返し、オブジェクトが指定のクラスまたはそのサブクラスのインスタンスである場合は true、そうでない場合は false になります。
例えば、Animal クラスと Dog クラスがあり、Dog クラスは Animal クラスのサブクラスです。その場合、instanceof キーワードを使用して対象が Animal クラスとそのサブクラスのインスタンスかどうかを判断できます。
Animal animal = new Dog();
if (animal instanceof Animal) {
System.out.println("animal is an instance of Animal");
}
if (animal instanceof Dog) {
System.out.println("animal is an instance of Dog");
}
結果を出力する
animal is an instance of Animal
animal is an instance of Dog
上記の例では、Dogクラスのインスタンスをひとつ作成し、それをAnimal型の変数に代入しています。次に、instanceofキーワードを使用して、このオブジェクトがAnimalクラスまたはそのサブクラスのインスタンスであるかどうかを判断します。DogクラスはAnimalクラスのサブクラスなので、どちらの判断文もtrueを返します。