将变量传递给方法以添加到通用arraylist - Java

时间:2017-11-15 09:34:34

标签: java generics arraylist

我想在一种方法中获取用户数据并将该数据传递给"添加"方法,用于将所述数据添加到通用arraylist。但是,我收到以下错误消息...

  

List中的add(T)无法应用于(java.lang.String)

我不确定这是否是static问题......

我的简化代码:

List<T> list = new ArrayList<T>();

void dataCollection() {
    Scanner scan = new Scanner(System.in);
    System.out.println("type data");
    add(scan.next());
}

void add(T t) {
    list.add(t);
}

1 个答案:

答案 0 :(得分:1)

如果您想将String添加到List,请将其定义为List<String>,而不是List<T>

List<T>可能是(取决于您的类的实例化方式),例如,List<Integer>,它无法容纳String

如果您确实需要List是通用的,则不应向其中添加String