使用和声明通用List <t> </t>

时间:2013-01-16 09:42:38

标签: java list generics object arraylist

所以我在Java工作,我想声明一个通用的List。

所以我到目前为止所做的是List<T> list = new ArrayList<T>();

但现在我想添加一个元素。我怎么做?通用元素是什么样的?

我尝试过像List.add(“x”)之类的东西来查看我是否可以添加一个字符串,但这不起作用。

(我没有声明List<String>的原因是因为我必须将此List传递给另一个仅以List<T>作为参数的函数。

3 个答案:

答案 0 :(得分:21)

您应该具有泛型类或通用方法,如下所示:

public class Test<T>  {
    List<T> list = new ArrayList<T>();
    public Test(){

    }
    public void populate(T t){
        list.add(t);
    }
    public static  void main(String[] args) {
        new Test<String>().populate("abc");
    }
}

答案 1 :(得分:0)

你不能将“X”(字符串)添加到具有直接类型的列表中,这样你就需要编写一个接受T作为参数的函数并添加到List中,比如

List<T> myList = new ArrayList<T>(0);
public void addValue(T t){
  myList.add(t);
}

并且在调用此函数时,您可以传递字符串。

 object.addValue("X");

答案 2 :(得分:0)

T是列表将包含的对象的类型。 您可以编写List<String>并在需要List<T>的函数中使用它,它应该不是问题,因为T用于表示它可以是任何东西。