Java 数组内置函数toArray详解

网友投稿 446 2022-10-16


Java 数组内置函数toArray详解

java.util.List中的toArray函数

java.util.List @NotNull

public abstract T[] toArray(@NotNull T[] a)

Returns an array containing all of the elements in this list in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array. If the list fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the runtime type of the specified array and the size of this list.

If the list fits in the specified array with room to spare (i.e., the array has more elements than the list), the element in the array immediately following the end of the list is set to null. (This is useful in determining the length of the list only if the caller knows that the list does not contain any null elements.)

Like the toArray() method, this method acts as bridge between array-based and collection-based APIs. Further, this method allows precise control over the runtime type of the output array, and may, under certain circumstances, be used to save allocation costs.

Suppose x is a list known to contain only strings. The following code can be used to dump the list into a newly allocated array of String:

String[] y = x.toArray(new String[0]);

Note that toArray(new Object[0]) is identical in function to toArray().

Overrides:

toArray in interface Collection

Params:

a – the array into which the elements of this list are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose.

Type parameters:

– the runtime type of the array to contain the collection

Returns:

an array containing the elements of this list

Throws:

ArrayStoreException – if the runtime type of the specified array is not a supertype of the runtime type of every element in this list

NullPointerException – if the specified array is null

External annotations:

Abstract method toArray: @org.jetbrains.annotations.NotNull

Parameter a: @org.jetbrains.annotations.NotNull

翻译

java.util.List @NotNull

public abstract T[] toArray(@NotNull T[] a)

返回一个包含列表中所有元素的数组(从第一个元素到最后一个元素);返回数组的运行时类型是指定数组的运行时类型。如果列表适合指定的数组,则在其中返回该列表。否则,将使用指定数组的运行时类型和该列表的大小分配一个新数组。

如果列表适合指定的有空间的数组(即,数组的元素比列表的多),则紧挨着列表末尾的数组中的元素被设为null。(只有当调用者知道列表不包含任何空元素时,这在确定列表的长度时才有用。)

与toArray()方法一样,该方法充当基于数组和基于集合的api之间的桥梁。此外,这种方法允许精确控制输出数组的运行时类型,在某些情况下,可以用于节省分配成本。

假设x是一个只包含字符串的列表。下面的代码可以用来将列表转储到一个新分配的String数组中:

String[] y = x.toArray(new String[0]);

注意toArray(新对象[0])在函数中与toArray()相同。

覆盖:

toArray在接口集合

参数:

A -如果列表足够大,则存放列表中所有元素的数组;否则,将为此目的分配相同运行时类型的新数组。

类型参数:

-包含集合的数组的运行时类型

返回:

一个包含此列表元素的数组

抛出:

如果指定数组的运行时类型不是这个列表中每个元素的运行时类型的超类型,则会产生ArrayStoreException异常

NullPointerExceptionWYrxfqhwT -如果指定的数组为空

外部注释:

抽象方法:@org.jetbrains.annotations.NotNull

参数:@org.jetbrains.annotathttp://ions.NotNull

public static void main(String[] args) {

List asList = new ArrayList() {

//使用匿名内部类来初始化。

{

add(35.6);

add(3.2);

add(90.);

}

};

Double []sumVenderNumArray = new Double[]{333333.34,999.9,93.45,23.4,33.};

Double [] sumVenderNumNum = asList.toArray(sumVenderNumArray);

System.out.println(jsONObject.toJSONString(sumVenderNumNum));

}

运行结果:


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:PTN960
下一篇:tcp三次握手和四次挥手过程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~