如何将Java List<String>转为多个独立字符串传入多字符串入参的函数
你要调用的方法应为Java的可变长参数(String...)类型入参,这类参数底层本质是String数组,你只需要把动态列表转为对应类型的数组传入即可,无需拼接字符串。
正确调用写法
// JDK 8 及更低版本兼容写法 myfunction(processInstanceIds.toArray(new String[0])); // JDK 11 及更高版本推荐的高效写法 myfunction(processInstanceIds.toArray(String[]::new));
说明
- 无参的
List.toArray()方法返回Object[]类型,和String类型的可变长参数不匹配,所以必须传入对应类型的数组构造参数来指定返回数组类型。 - 你之前尝试的
String.join写法会把所有列表元素拼接为单个字符串传入,相当于仅传递了1个参数,不符合要求。 - 传入的String数组会被JVM自动识别为可变长参数的入参,数组内的每一个元素都会被当作独立参数传入方法,完全匹配动态参数数量的需求。
内容的提问来源于stack exchange,提问作者Ricardo
相关产品推荐
相关产品推荐

