所以我在Java工作,我想声明一个通用的List。
所以我到目前为止所做的是List<T> list = new ArrayList<T>();
但现在我想添加一个元素。我怎么做?通用元素是什么样的?
我尝试过像List.add(“x”)之类的东西来查看我是否可以添加一个字符串,但这不起作用。
(我没有声明List<String>
的原因是因为我必须将此List传递给另一个仅以List<T>
作为参数的函数。
答案 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用于表示它可以是任何东西。