关于数组的强制类型转换
public class SimpleCollection<T>{
public static void main(String[] args) {
Object[] o = new Object[10];
String[] s = (String[])o;①//运行报错:Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
SimpleCollection<String> si = new SimpleCollection<String>();
si.method();
}
public void method(){
Object[] o = new Object[10];
T[] t = (T[])o;②//Type safety: Unchecked cast from Object[] 编译警告,运行正常
}
}
为什么①转换会报错,而②却没有报错?请高手指教。。。