[英]How to Convert List<Map<String, Object>> to List<Map<String, String>>
[英]How to convert a List<String> object to String… Object
最近我遇到了一个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) {
}
唯一的区别是顾名思义,它是可变长度参数。 您可以使用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()]));
String...
只是String[]
。 所以只需循环遍历列表并创建一个String数组并传递该数组或更简单的方法来使用Collection类的.toArray(new String[collection.size()])
方法。
String ...与String []相同。
你想打电话给:
String[] listArr = list.toArray( new String[ list.size() ] );
doSomething( listArr );
使用.toArray(new String[0])
。 toArray()方法将您的字符串列表( java.util.List<String>
)转换为String
对象数组。
'...'语法是一种允许可变数量参数的机制。 你可以传递像doSomething("abc", "def", "ghi")
或doSomething("abc")
或doSomething(new String[] { "abc", "def", "ghi" })
。 该函数将它们全部视为数组(分别为长度3,1和3)。
请参阅以下内容将String的List转换为String Array
List<String> listOfString = new ArrayList<String>();
listOfString.add("sunil");
listOfString.add("sahoo");
String[] strResult=new String[listOfString.size()];
strResult = listOfString.toArray(strResult);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.