<分区>
首先,由于 java 有一个严格的类型系统,所以在编译时检查程序的类型正确性,并在执行前将类加载到字节码 validator 时检查程序的字节码。
虽然泛型的引入拓宽了 Java 类型系统的潜力,但是由于 java 有子类型,所以在上面的例子中出现了很多问题:
String [] a ={"Hello"};
Object [] b= a;
b[0]= false;
String s=a[0];
System.out.println(s);
在上面的示例中,我们使用 String 类是 Object 的子类。 我的问题是编译器不对上述程序发出任何警告的原因是什么。当我尝试运行它时(当然)抛出异常。 上面的程序在 java 实现中还有什么问题/后果(我的意思是有没有明显的问题??)。