为什么会出现编译错误
java:不兼容的类型:自定义无法转换为通用
在这一行生成:
System.out.println(custom instanceof Generic);
?
为什么
instanceof
的实例和 Object
的实例之间 的行为不同?
Custom
class Custom {
}
public class Generic<T> {
public static void main(String[] args) {
Object object = new Object();
System.out.println(object instanceof Generic); //false
Custom custom = new Custom();
System.out.println(custom instanceof Generic); //Compilation Error
}
}
不会扩展类
Generic
并且编译器知道这一点。您的
Custom
检查永远不可能为真,因此它会引发编译错误。