java将语法“...”的数组参数添加到列表中

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


private List<Integer> idsCache = new ArrayList<>();

...

String getSomeObject(int... ids) {

    this.idsCache.addAll(ids);

    ...

}

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


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


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


德玛西亚99
浏览 136回答 2
2回答

斯蒂芬大帝

你可以做:idsCache.addAll(Arrays.asList(ids));编辑:上述解决方案不起作用。这是一个封装原语的 Java 8 解决方案:idsCache.addAll(Arrays.stream(ids).boxed().collect(Collectors.toList()));

慕雪6442864

由于您使用的是原始类型,因此您必须执行以下操作。String getSomeObject(int... ids) {&nbsp; for (int id : ids) {&nbsp; &nbsp; this.idsCache.add(id);&nbsp; }}或者你可以改变你的函数来取一个整数。String getSomeObject(Integer... ids) {&nbsp; &nbsp; this.idsCache.addAll(id);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java