java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
举例:aa instanceof AA -->aa是不是AA的实例?
代码:
package hubotao_Util;
public class Test {
public static void main(String[] args) {
String a = "123";
Long b = 0L;
if (a instanceof String) {
System.out.println("a is String");
}
/*
* if (a instanceof Long) { System.out.println("a is Long"); } //会报错
* 如果编译时可以判断实例与被判断类型无关就直接在编译时报错;不相容的两个肯定不是对方的类对象,编译器认为你在说废话。
*/
if (b instanceof Long) {
System.out.println("b is Long");
}
}
}
在实际开发中有经常看到这个instanceof 的应用,所以记录下来,但是为何需要频繁判断类型,有待深入了解。