指定ArrayList的类型

Ada*_*dam 12 java arrays generics arraylist

在Java和Android中,我最终ArrayList<String>用于供应列表,因为我发现它们比标准更容易使用String[].我真正的问题,虽然此:

什么是<String>的部分ArrayList<String>叫什么?
如何创建类并使用<>[修饰符]?(我不知道它实际上叫什么,所以现在它是修饰符).

谢谢!

jav*_*dev 8

在这里,你可能会看得更清楚:

ArrayList<TypeOfYourClass>
Run Code Online (Sandbox Code Playgroud)

您可以创建一个Person类,并将其传递给ArrayList,因为此代码段显示:

ArrayList<Person> listOfPersons = new ArrayList<Person>();
Run Code Online (Sandbox Code Playgroud)


Jon*_*eet 5

<String>部分是类型参数.它提供了各种各样的"价值" 类型参数这是EArrayList<E>...以同样的方式,如果你有一个方法:

public void foo(int x)
Run Code Online (Sandbox Code Playgroud)

你用它来称呼它:

foo(5)
Run Code Online (Sandbox Code Playgroud)

参数是x,并且提供的参数是5.类型参数和类型参数基本上是通用的等价物.

有关更多详细信息,请参阅JLS的4.5节(及其链接) - 以及Java泛型常见问题解答,了解有关泛型的更多信息,而不是您可能想要阅读的内容:)