作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
最近我遇到了一个 API,它使用了一些参数
void doSomething(final String... olah) {
}
我从来没有见过这样的东西。
我有一个 List<String>
现在,我想用我的字符串列表调用该函数。我怎样才能做到这一点?
最佳答案
欢迎使用现代 Java。该语法在 Java 中称为 varargs
。
http://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html
你可以这样想
void doSomething(final String[] olaf) {
}
唯一不同的是,顾名思义,就是Variable Length Arguments。您可以使用 0
对任何数字或参数调用它。因此,doSomething("foo")
, doSomething("foo", "bar")
, doSomething("foo", "bar", "baz")
均受支持。
不过,为了使用 List
参数调用此方法,您必须先将列表转换为 String[]
。
像这样的事情会做:
List<String> myList; // Hope you're acquainted with generics?
doSomething(myList.toArray(new String[myList.size()]));
关于java - 如何将 List<String> 对象转换为 String... 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8741562/
我是一名优秀的程序员,十分优秀!