JAVA List<T> 如何初始化

Python011

JAVA List<T> 如何初始化,第1张

//List是虚拟的类,不能直接实例化,但是可以实例化他的子类

import java.util.ArrayList

import java.util.List

public class T {

public static void main(String[] args) {

List<String>list = new ArrayList<String>()

}

}

一个是泛型,一个是Object,后者还可能要类型转换,容易出错。 Java中的泛型是个假泛型,仅仅只是在编译器那边做了语法检查而已,和C#里的泛型不一样的。基本上,不管你在List<>里面写什么类型,编译通过了以后运行时全部都是Object。Java泛型是通过类型擦除实现的,编译器的语法检查是次要的。重要的是泛型系统可以为做更多的类型检查,借助编译器在编译期的类型检查可以减少运行时出现类型错误的几率。