如何在 Java 8 中将 List 转换为可变参数对象
我有一个函数 ( findByNames
) 接受传播参数,如下例所示:
List<Users> findByNames(String... names)
{
...
}
作为参数,我有一个列表:
List<String> names = asList("john","abraham");
所以我想将names
列表转换为传播对象以使用findByNames
函数,这可以使用 Java 8 吗?我试过这个解决方案:
MapUtils.getMap(names.toArray(new String[names.size()]))
但它不起作用!
谢谢你的时间。
将 转换List<String>
为数组String[]
:
// Java-8(tag in question)
List<Users> users = findByNames(names.toArray(new String[0]));
// Java-11
List<Users> users = findByNames(names.toArray(String[]::new));
https://qa.1r1g.com/sf/ask/3829812661/
https://segmentfault.com/q/1010000042894788/a-1020000042894790
如果将列表转换为数组,String … 和 String[] 是相同的。
使用
Foo[] array = list.toArray(new Foo[list.size()]);
或者
Foo[] array = new Foo[list.size()];
list.toArray(array);
然后将该数组用作 String ...
函数的参数。
原文由 Alpesh Gediya 发布,翻译遵循 CC BY-SA 3.0 许可协议
https://segmentfault.com/q/1010000042894788/a-1020000042894790
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2022-07-19 git查看分支创建于哪个分支
2018-07-19 说说Java中的资源文件的读取
2015-07-19 ASP.NET异步处理
2015-07-19 C# TPL学习