Java - 将List <String>从参数添加到现有列表

Dem*_*ele 5 string element list add

我希望能够将新参数输入条目添加到列表中.

例如:

public static void theList (List<String> wholeList) {

    wholeList = new ArrayList<String>();
    wholeList.add("Lettuce");
    wholeList.add("Bacon");
    wholeList.add("Milk");

    wholeList.add(wholeList); <--------- error - addAll doesn't fix it.
Run Code Online (Sandbox Code Playgroud)

上面我试过'wholeList.add(wholeList)'.我打算做的是:无论是什么附加(项目(来自参数),当添加输入以运行此方法时)我需要添加的项目,将添加到'wholeList'.

如您所见,我有3个项目添加到列表中:生菜,培根和牛奶.但是,如果我突然改变主意,想要添加另一个项目(通过参数),我可以简单地将它添加到当前列表(wholeList).

另外,另一个问题.

是否有更简洁的方法来添加项目列表而不是逐个添加(使用相同的列表导入)?说,{"生菜","牛奶","培根"等}?

TY.

小智 6

据我所知,addAll()你需要的一切:

List<String> someList = new ArrayList<String>();
List<String> itemsToAdd = new ArrayList<String>();
itemsToAdd.add("one");
itemsToAdd.add("two");
someList.addAll(itemsToAdd);
// or use handy method which creates temporary list internally:
someList.addAll(Arrays.asList("three", "four"));
Run Code Online (Sandbox Code Playgroud)


Iss*_*iss 5

好吧,你的代码做了一些非常错误的事情。您在方法内初始化整个列表,方法完成后,它就消失了(Java 中的指针)。此外,您还添加了列表本身,因此代码可能不是您想要执行的操作。

您可能打算在方法内创建一个新列表,并将所有项目添加到参数中的列表中。如果是这样,则不应在从参数获得的列表中使用“new”。


事实上,读完你的问题标题后——

  1. 您需要一个现有列表 - 它不能与参数中的列表名称一起使用。我们将其称为“existingList”。
  2. 在方法中获取列表后,不应在其上使用“new ArralyList”,因为它会使参数中的列表无效。

你的代码应该是这样的:

 public static void theList (List<String> wholeList) {

    wholeList.add("Lettuce");
    wholeList.add("Bacon");
    wholeList.add("Milk");

    existingList.add(wholeList);
Run Code Online (Sandbox Code Playgroud)