Java 指定ArrayList的类型

Java 指定ArrayList的类型,java,arrays,generics,arraylist,Java,Arrays,Generics,Arraylist,在Java和Android中,我最终使用ArrayList作为供应列表,因为我发现它们比标准的String[]更易于使用。然而,我真正的问题是:数组列表的部分被称为什么?我如何创建类并使用[modifier]?(我不知道它到底叫什么,所以现在是修饰语)。谢谢 部分是类型参数。它为类型参数提供排序“值”,该参数是ArrayList中的E。。。如果你有一个方法,同样的方法是: public void foo(int x) 你把它叫做: foo(5) 参数是x,提供的参数是5。类型参数和类型参数基

在Java和Android中,我最终使用
ArrayList
作为供应列表,因为我发现它们比标准的
String[]
更易于使用。然而,我真正的问题是:

数组列表的
部分被称为什么?
我如何创建类并使用
[modifier]?(我不知道它到底叫什么,所以现在是修饰语)。

谢谢

部分是类型参数。它为类型参数提供排序“值”,该参数是
ArrayList
中的
E
。。。如果你有一个方法,同样的方法是:

public void foo(int x)
你把它叫做:

foo(5)
参数是
x
,提供的参数是
5
。类型参数和类型参数基本上是泛型等价物


有关更多详细信息,请参阅(及其链接),有关泛型的更多信息,请参阅:)

之间的位
是一个类型参数,该功能称为查找Java的泛型语法。这将使你变得直截了当(好的,很多人发现java的方法不如C++和C语言)。
ArrayList<TypeOfYourClass>
ArrayList
您可以创建Person类并将其传递给ArrayList,如下所示:

ArrayList<Person> listOfPersons = new ArrayList<Person>();
ArrayList listOfPersons=new ArrayList();

假设您希望ArrayList仅用字符串填充。 如果你写:

ArrayList<String> list = new ArrayList<String>();
    list.add("A");
    list.add("B");
    list.add("C");
ArrayList list=new ArrayList();
列表。添加(“A”);
列表。添加(“B”);
列表。添加(“C”);
您可以确定,如果有人试图用int填充arrayList,它将在complile时间内被检测到


因此,泛型用于需要强制执行此类限制的情况。

是类型参数。在Java中,当类被编写为泛型时,必须提供其中之一

下面是一个泛型类定义的示例

private class GNode<T>
{
    private T data;
    private GNode<T> next;

    public GNode(T data)
    {
        this.data = data;
        this.next = null;
    }
}

另外,如果您不传入类型参数,我很确定您的代码仍然可以编译。但是它不起作用。

Google java Generics它被称为类型参数。这不是一个特定的问题。这是一个通用问题,我们无法回答通用问题的每个方面。对泛型进行研究。(这是一个巨大的主题)就像你可以创建一个数组,比如
MyClass[]
,你也可以创建
ArrayList
,在数组上获得ArrayList的功能?ArrayList中有几个功能是你在数组类型中找不到的集合类。例如,您可以找到一个“add”方法,通过该方法,您可以动态地将对象添加到列表中,您可以找到一个remove方法,一个size()方法,另外一个事实是数组的内存在实例化时分配,因此,如果您是一个大小为20的数组,那么数组的大小从一开始就固定不变,向阵列中添加的人数不能超过20人。收藏。
 GNode<Integer> myNode = new GNode<Integer>();
Boolean instead of bool
Integer instead of int
Double instead of double 
etc...