我想将参数方法中的所有 id 缓存到一个列表中。我试试这个,但编译器错误private List<Integer> idsCache = new ArrayList<>();...String getSomeObject(int... ids) { this.idsCache.addAll(ids); ...}如何在 java 中的列表中添加 ... 数组参数?我也试过了this.idsCache.addAll(Arrays.asList(ids));我可以在不更改 id 类型的情况下做到这一点吗?
2 回答

斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
你可以做:
idsCache.addAll(Arrays.asList(ids));
编辑:上述解决方案不起作用。这是一个封装原语的 Java 8 解决方案:
idsCache.addAll(Arrays.stream(ids).boxed().collect(Collectors.toList()));

慕雪6442864
TA贡献1812条经验 获得超5个赞
由于您使用的是原始类型,因此您必须执行以下操作。
String getSomeObject(int... ids) {
for (int id : ids) {
this.idsCache.add(id);
}
}
或者你可以改变你的函数来取一个整数。
String getSomeObject(Integer... ids) {
this.idsCache.addAll(id);
}
添加回答
举报
0/150
提交
取消