成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

java中l(wèi)ist如何轉(zhuǎn)為數(shù)組

這篇文章主要介紹java中l(wèi)ist如何轉(zhuǎn)為數(shù)組,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)是一家專業(yè)提供遠(yuǎn)安企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、做網(wǎng)站、HTML5、小程序制作等業(yè)務(wù)。10年已為遠(yuǎn)安眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

java中l(wèi)ist集合轉(zhuǎn)為數(shù)組的方法:1、使用無(wú)參數(shù)toArray方法,語(yǔ)法格式“Object[] toArray();”;2、使用支持泛型的toArray方法,語(yǔ)法格式“

在Java中,經(jīng)常遇到需要List與數(shù)組互相轉(zhuǎn)換的場(chǎng)景。那么list怎么轉(zhuǎn)為數(shù)組?下面本篇文章給大家介紹一下。

List轉(zhuǎn)換成數(shù)組,可以使用List的toArray()或者toArray(T[] a)方法。

List轉(zhuǎn)換成數(shù)組

List轉(zhuǎn)換成數(shù)組可以調(diào)用toArray方法,

這里有兩個(gè)重載的方法,

一般使用第2個(gè)帶泛型參數(shù)的方法:

Object[] toArray();
<T> T[] toArray(T[] a);

2.1.無(wú)參數(shù)toArray方法

Object[] toArray();

這個(gè)方法將List直接轉(zhuǎn)為Object[]數(shù)組。

Java初學(xué)者喜歡用這個(gè)方法,

沒有參數(shù)使用起來(lái)很方便,

而且代碼編譯也沒有報(bào)錯(cuò),

錯(cuò)誤使用的示例代碼如下:

List<String> strList = new ArrayList<>();
strList.add("list-a");
strList.add("list-b");
String[] strArray = (String[]) strList.toArray();

結(jié)果一運(yùn)行,直接報(bào)錯(cuò),

不能將Object[]轉(zhuǎn)化為String[]:

Exception in thread "main" java.lang.ClassCastException: 
[Ljava.lang.Object; cannot be cast to [Ljava.lang.String;

正確使用代碼如下:

List<String> strList = new ArrayList<>();
Object[] strArray = strList.toArray();

得到了一個(gè)通常情況下沒啥用的Object[]。

2.2.支持泛型的toArray方法

<T> T[] toArray(T[] a);

這個(gè)方法接收一個(gè)類型為 T 的數(shù)組,

注意基本類型是不能作為泛型參數(shù)的。

如果是使用int[] 類型數(shù)組,

需要把 int[] 換成 Integer[] 。

使用的示例代碼如下:

List<String> strList = new ArrayList<>();
strList.add("list-a");
strList.add("list-b");
String[] strArray = strList.toArray(new String[strList.size()]);

2.3.toArray方法入?yún)⒌臄?shù)組大小

針對(duì)如下代碼,

分析一下初始化的String數(shù)組的大小size,

和List的大小strList.size()的關(guān)系,

對(duì)于返回值產(chǎn)生的不同影響:

List<String> strList = new ArrayList<>();
strList.add("list-a");
strList.add("list-b");
String[] strArray1 = new String[size];
String[] strArray2 = strList.toArray(strArray1);

2.3.1.size < strList.size()

現(xiàn)在設(shè)置size=0,

小于strList.size()=2,

代碼修改部分如下:

String[] strArray1 = new String[0];

返回的strArray2和strArray1不是同一個(gè)對(duì)象。

2.3.2.size = strList.size()

現(xiàn)在設(shè)置size=strList.size(),

代碼修改部分如下:

String[] strArray1 = new String[strList.size()];

返回的strArray2和strArray1是同一個(gè)對(duì)象。

所以下面兩塊代碼是等價(jià)的,

得到的strArray都是我們期望的結(jié)果:

String[] strArray = strList.toArray(new String[strList.size()]);
String[] strArray = new String[strList.size()];
strList.toArray(strArray);

2.3.3.size > strList.size()

現(xiàn)在設(shè)置size=strList.size()+1,

代碼修改部分如下:

String[] strArray1 = new String[strList.size()+1];

返回的strArray2和strArray1是同一個(gè)對(duì)象,

但是數(shù)組的最后一個(gè)元素是null,

如果數(shù)組中的元素多于List中的元素,

列表復(fù)制完后緊接著的數(shù)組末尾被設(shè)置為null,

即strArray1[strList.size()]=null,

這對(duì)于調(diào)用方確定數(shù)組的真實(shí)長(zhǎng)度很有用,

如果使用strList.size()+2初始化數(shù)組,

則數(shù)組的倒數(shù)第二個(gè)元素是null。

以上是java中l(wèi)ist如何轉(zhuǎn)為數(shù)組的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站題目:java中l(wèi)ist如何轉(zhuǎn)為數(shù)組
當(dāng)前URL:http://jinyejixie.com/article16/pdcigg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站內(nèi)鏈建站公司、網(wǎng)站導(dǎo)航、Google、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
曲周县| 普宁市| 修水县| 新巴尔虎左旗| 遂溪县| 峨山| 临西县| 静乐县| 宁波市| 丰县| 中山市| 施秉县| 枞阳县| 翁牛特旗| 商水县| 翁牛特旗| 东丽区| 萨嘎县| 专栏| 资源县| 牙克石市| 高陵县| 信丰县| 尉犁县| 灌阳县| 新营市| 塔河县| 庆云县| 张北县| 神池县| 凤凰县| 冕宁县| 大埔区| 德化县| 恩平市| 乐昌市| 南郑县| 广汉市| 姚安县| 富民县| 临泽县|