数组的使用频率非常高,我们经常会创建一个数组,无论是基本类型还是引用类型的数组;但是你尝试创建过泛型数组吗?又会发什么什么?
尝试创建一个泛型数组
如果你使用Java语言,并且尝试创建一个泛型数组;好吧,其实你会发现根本无法创建一个泛型数组,编译器在编译阶段就制止了你的这一行为。
数组与泛型不能很好的结合,也不能创建具有泛型类型的数组。其中的原因与泛型的实现机制有关。
泛型与类型擦除
Java引入泛型的目的之一是指定容器要装载的对象的类型,由编译器来保证类型的正确性。这样能一定程度保证代码的安全性。
public static void main(String[] args) {
List<Integer> list=new ArrayList<>();
list.add(new Integer(1)); //OK
//list.add("hello"); //Error
}
虽然泛型功能强大并且能够方便编程,但是它并不像我们想的那么友好。亲手编写的代码有时并不如你意,比如下面的例子:
public static void main(String[] args) {
Class ca&#