我想将参数方法中的所有id缓存到一个列表中。我尝试了这个,但是编译器错误
private List<Integer> idsCache = new ArrayList<>();
...
String getSomeObject(int... ids) {
this.idsCache.addAll(ids);
...
}
如何在Java列表中添加...数组参数?
我也尝试过this.idsCache.addAll(Arrays.asList(ids));
我可以不更改id的类型吗?
答案 0 :(得分:0)
您可以这样做:
idsCache.addAll(Arrays.asList(ids));
编辑:以上解决方案不起作用。这是将原语装箱的Java 8解决方案:
idsCache.addAll(Arrays.stream(ids).boxed().collect(Collectors.toList()));
答案 1 :(得分:0)
由于使用的是原始类型,因此必须执行以下操作。
String getSomeObject(int... ids) {
for (int id : ids) {
this.idsCache.add(id);
}
}
或者您可以更改函数以采用整数。
String getSomeObject(Integer... ids) {
this.idsCache.addAll(id);
}