Java 數(shù)組內(nèi)置函數(shù)toArray詳解
java.util.List中的toArray函數(shù)
java.util.List<E> @NotNull public abstract <T> 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: <T> – 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)
返回一個(gè)包含列表中所有元素的數(shù)組(從第一個(gè)元素到最后一個(gè)元素);返回?cái)?shù)組的運(yùn)行時(shí)類(lèi)型是指定數(shù)組的運(yùn)行時(shí)類(lèi)型。如果列表適合指定的數(shù)組,則在其中返回該列表。否則,將使用指定數(shù)組的運(yùn)行時(shí)類(lèi)型和該列表的大小分配一個(gè)新數(shù)組。
如果列表適合指定的有空間的數(shù)組(即,數(shù)組的元素比列表的多),則緊挨著列表末尾的數(shù)組中的元素被設(shè)為null。(只有當(dāng)調(diào)用者知道列表不包含任何空元素時(shí),這在確定列表的長(zhǎng)度時(shí)才有用。)
與toArray()方法一樣,該方法充當(dāng)基于數(shù)組和基于集合的api之間的橋梁。此外,這種方法允許精確控制輸出數(shù)組的運(yùn)行時(shí)類(lèi)型,在某些情況下,可以用于節(jié)省分配成本。
假設(shè)x是一個(gè)只包含字符串的列表。下面的代碼可以用來(lái)將列表轉(zhuǎn)儲(chǔ)到一個(gè)新分配的String數(shù)組中:
String[] y = x.toArray(new String[0]);
注意toArray(新對(duì)象[0])在函數(shù)中與toArray()相同。
覆蓋:
toArray在接口集合
參數(shù):
A -如果列表足夠大,則存放列表中所有元素的數(shù)組;否則,將為此目的分配相同運(yùn)行時(shí)類(lèi)型的新數(shù)組。
類(lèi)型參數(shù):
-包含集合的數(shù)組的運(yùn)行時(shí)類(lèi)型
返回:
一個(gè)包含此列表元素的數(shù)組
拋出:
如果指定數(shù)組的運(yùn)行時(shí)類(lèi)型不是這個(gè)列表中每個(gè)元素的運(yùn)行時(shí)類(lèi)型的超類(lèi)型,則會(huì)產(chǎn)生ArrayStoreException異常
NullPointerException -如果指定的數(shù)組為空
外部注釋:
抽象方法:@org.jetbrains.annotations.NotNull
參數(shù):@org.jetbrains.annotations.NotNull
public static void main(String[] args) { List<Double> asList = new ArrayList<Double>() { //使用匿名內(nèi)部類(lèi)來(lái)初始化。 { 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)); }
運(yùn)行結(jié)果:
到此這篇關(guān)于Java 數(shù)組內(nèi)置函數(shù)toArray詳解的文章就介紹到這了,更多相關(guān)Java toArray解析內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java?IO模型之BIO、NIO、AIO三種常見(jiàn)IO模型解析
這篇文章主要介紹了今天我們來(lái)聊Java?IO模型,BIO、NIO、AIO三種常見(jiàn)IO模型,我們從應(yīng)用調(diào)用的過(guò)程中來(lái)分析一下整個(gè)IO的執(zhí)行過(guò)程,不過(guò)在此之前,我們需要簡(jiǎn)單的了解一下整個(gè)操作系統(tǒng)的空間布局,需要的朋友可以參考下2024-07-07java對(duì)象類(lèi)型轉(zhuǎn)換和多態(tài)性(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇java對(duì)象類(lèi)型轉(zhuǎn)換和多態(tài)性(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10mybatis-spring:@MapperScan注解的使用
這篇文章主要介紹了mybatis-spring:@MapperScan注解的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09Java中 ? extends T 和 ? super&nb
本文主要介紹了Java中 ? extends T 和 ? super T的理解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05MyBatis-plus使用lambda條件構(gòu)造器報(bào)錯(cuò)問(wèn)題及解決
這篇文章主要介紹了MyBatis-plus使用lambda條件構(gòu)造器報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01Intellij IDEA 2017.3使用Lombok及常用注解介紹
這篇文章主要介紹了Intellij IDEA 2017.3使用Lombok及常用注解介紹,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09