首页 > 解决方案 > java将语法为“...”的数组参数添加到列表中

问题描述

我想将参数方法中的所有 id 缓存到一个列表中。我试试这个,但编译器错误

private List<Integer> idsCache = new ArrayList<>();
...
String getSomeObject(int... ids) {
    this.idsCache.addAll(ids);
    ...
}

如何在 java 中的列表中添加 ... 数组参数?

我也试过了this.idsCache.addAll(Arrays.asList(ids));

我可以在不更改 id 类型的情况下做到这一点吗?

标签: javaarraysarraylist

解决方案


由于您使用的是原始类型,因此您必须执行以下操作。

String getSomeObject(int... ids) {
  for (int id : ids) {
    this.idsCache.add(id);
  }
}

或者你可以改变你的函数来取一个整数。

String getSomeObject(Integer... ids) {
    this.idsCache.addAll(id);
}

推荐阅读