3. 10. 1. instanceof关键字 |
|
The instanceof keyword can be used to test if an object is of a specified type. |
if (objectReference instanceof type)
|
|
The following if statement returns true. |
public class MainClass {
public static void main(String[] a) {
String s = "Hello";
if (s instanceof java.lang.String) {
System.out.println("is a String");
}
}
}
|
|
is a String |
However, applying instanceof on a null reference variable returns false.
For example, the following if statement returns false. |
public class MainClass {
public static void main(String[] a) {
String s = null;
if (s instanceof java.lang.String) {
System.out.println("true");
} else {
System.out.println("false");
}
}
}
|
|
false |
Since a subclass 'is a' type of its superclass, the following if statement, where Child is a subclass of Parent, returns true. |
class Parent {
public Parent() {
}
}
class Child extends Parent {
public Child() {
super();
}
}
public class MainClass {
public static void main(String[] a) {
Child child = new Child();
if (child instanceof Parent) {
System.out.println("true");
}
}
}
|
|
true |