不是说instanceof前面操作数地编译时类型与后面的类相同或者是后面类的父类么
下面这个编译时类型String 不符合要求怎么也可以用呢String s = "str";
boolean isObject = s instanceof Object;
下面这个编译时类型String 不符合要求怎么也可以用呢String s = "str";
boolean isObject = s instanceof Object;
所以不能使用 instanceof Object我这个编译类型是String啊 String 不是Object类、也不是Object类的父类
为什么可以这么用呢希望表达清楚了 求前辈指点
貌似没有反
instanceof检测的是不是某个类或其子类的实例或者实现某个接口
和
instanceof前面操作数地编译时类型与后面的类相同或者是后面类的父类并不冲突,并且如果不满足后者会引起编译错误
下面这段不就是这样的么 public static void main(String[] args)
{
Object hello = "Hello";
//Math类是编译类型Object的子类 编译通过
System.out.println("字符串是否是Math类的实例:" + (hello instanceof Math));
String a = "Hello";
//String类既不是Math类,也不是Math类的父类,所以下面代码编译无法通过
System.out.println("字符串是否是Math类的实例:" + (a instanceof Math));
}再讲解一下呗 谢谢大侠们
求围观 错了 求被围观