ArrayList中的通用集合

Aar*_*ron 0 java arraylist

我正在尝试建立我的Java入门知识,并且我正在拓展数据结构.

我在看,ArrayList我不理解以下内容:

List<String> myList = new ArrayList<String>(); 
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索,type parameter但我不明白为什么它是必要的和它正在做什么(无论是对构造函数的调用还是初始化变量); 如果有人能用简单的方式向我解释,那就太好了.

谢谢

mik*_*kea 6

首先,我强烈建议您阅读Java泛型教程.

其次,简单回答你的问题.通过使用这样的泛型类型,您强制编译器使用此实例对代码使用强类型检查.

如果您将列表定义为:

List myList = new ArrayList();
Run Code Online (Sandbox Code Playgroud)

您可以向其添加任何类型的对象,例如:

myList.add(new Integer());
myList.add(new Long());
Run Code Online (Sandbox Code Playgroud)

通过将列表声明为:

List<String> myList = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)

你告诉编译器这个列表只接受字符串,所以:

myList.add(new Integer());
Run Code Online (Sandbox Code Playgroud)

将抛出编译时错误.