📅  最后修改于: 2023-12-03 15:31:30.650000             🧑  作者: Mango
在Java中,instanceof
是一个关键字,用于检查一个对象是否是某个类的实例。下面是一些instanceof
的示例。
public class Example1 {
public static void main(String[] args) {
String str = "Hello World";
Integer num = 10;
if (str instanceof String) {
System.out.println("str is a String object");
}
if (num instanceof Integer) {
System.out.println("num is an Integer object");
}
}
}
Output:
str is a String object
num is an Integer object
在上面的示例中,我们创建了一个String
对象和一个Integer
对象,并使用instanceof
检查它们的类型是否正确。如果是,则输出相应的消息。
class Animal {}
class Dog extends Animal {}
public class Example2 {
public static void main(String[] args) {
Animal animal = new Dog();
if (animal instanceof Animal) {
System.out.println("animal is an Animal object");
}
if (animal instanceof Dog) {
System.out.println("animal is a Dog object");
}
}
}
Output:
animal is an Animal object
animal is a Dog object
在上面的示例中,我们创建了Animal
类和Dog
类。然后我们创建了一个Dog
对象并将其赋值给一个Animal
变量。我们使用instanceof
检查这个对象是否是Animal
类型和Dog
类型。由于Dog
是Animal
的一个子类,所以它是Animal
类型的一个实例。
class Animal {}
class Dog extends Animal {}
class Cat extends Animal {}
public class Example3 {
public static void main(String[] args) {
Animal animal = new Dog();
if (animal instanceof Animal && !(animal instanceof Cat)) {
System.out.println("animal is an Animal object and not a Cat object");
}
if (animal instanceof Dog || animal instanceof Cat) {
System.out.println("animal is either a Dog or a Cat object");
}
}
}
Output:
animal is an Animal object and not a Cat object
animal is either a Dog or a Cat object
在上面的示例中,我们创建了Animal
类、Dog
类和Cat
类。然后我们创建了一个Dog
对象并将其赋值给一个Animal
变量。我们使用instanceof
检查这个对象是否是Animal
类型而且不是Cat
类型。我们还使用instanceof
检查这个对象是否是Dog
类型或Cat
类型。