使用Collection的toArray()无参方法默认是返回Object[],但是又的时候我们想用别的类型该怎么办呢?
方法一:toArray()带参数
如:String[] value = param.toArray(new String[0]);
new string[0]的作用:
如果指定的数组能容纳该 collection,则返回包含此 collection 元素的数组。
否则,将根据指定数组的运行时类型和此 collection 的大小分配一个新数组。
这里给的参数的数组长度是0,因此就会返回包含此 collection 中所有元素的数组,并且返回数组的类型与指定数组的运行时类型相同。
方法二:Arrays.copyOf(elementData, size, a.getClass())
如String[] str=
Arrays.copyOf(objectArray, objectArray.length, String[].class);
public String[] getParamsValues(String key) {
List<String> values = this.paramMap.get(key);
if(null== values || values.size()<1) {
return null;
}
/*如果指定的数组能容纳该 collection,则返回包含此 collection 元素的数组。
否则,将根据指定数组的运行时类型和此 collection 的大小分配一个新数组。
这里给的参数的数组长度是0,因此就会返回包含此 collection 中所有元素的数组,
并且返回数组的类型与指定数组的运行时类型相同。*/
return values.toArray(new String[0]);