91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中list如何轉為數組

發布時間:2020-11-03 10:14:47 來源:億速云 閱讀:234 作者:小新 欄目:編程語言

這篇文章主要介紹java中list如何轉為數組,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

java中list集合轉為數組的方法:1、使用無參數toArray方法,語法格式“Object[] toArray();”;2、使用支持泛型的toArray方法,語法格式“

在Java中,經常遇到需要List與數組互相轉換的場景。那么list怎么轉為數組?下面本篇文章給大家介紹一下。

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

List轉換成數組

List轉換成數組可以調用toArray方法,

這里有兩個重載的方法,

一般使用第2個帶泛型參數的方法:

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

2.1.無參數toArray方法

Object[] toArray();

這個方法將List直接轉為Object[]數組。

Java初學者喜歡用這個方法,

沒有參數使用起來很方便,

而且代碼編譯也沒有報錯,

錯誤使用的示例代碼如下:

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

結果一運行,直接報錯,

不能將Object[]轉化為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();

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

2.2.支持泛型的toArray方法

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

這個方法接收一個類型為 T 的數組,

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

如果是使用int[] 類型數組,

需要把 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方法入參的數組大小

針對如下代碼,

分析一下初始化的String數組的大小size,

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

對于返回值產生的不同影響:

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()

現在設置size=0,

小于strList.size()=2,

代碼修改部分如下:

String[] strArray1 = new String[0];

返回的strArray2和strArray1不是同一個對象。

2.3.2.size = strList.size()

現在設置size=strList.size(),

代碼修改部分如下:

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

返回的strArray2和strArray1是同一個對象。

所以下面兩塊代碼是等價的,

得到的strArray都是我們期望的結果:

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

2.3.3.size > strList.size()

現在設置size=strList.size()+1,

代碼修改部分如下:

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

返回的strArray2和strArray1是同一個對象,

但是數組的最后一個元素是null,

如果數組中的元素多于List中的元素,

列表復制完后緊接著的數組末尾被設置為null,

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

這對于調用方確定數組的真實長度很有用,

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

則數組的倒數第二個元素是null。

以上是java中list如何轉為數組的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

滦南县| 香格里拉县| 陵川县| 广西| 微博| 礼泉县| 商洛市| 宜州市| 贵港市| 姜堰市| 司法| 鹤山市| 金门县| 花莲县| 色达县| 平远县| 抚远县| 大方县| 乌鲁木齐县| 松潘县| 正蓝旗| 团风县| 兴仁县| 定边县| 定兴县| 偏关县| 如皋市| 文登市| 宁津县| 黄山市| 宁波市| 云梦县| 平湖市| 射阳县| 赤峰市| 平陆县| 富民县| 湖州市| 和田市| 宁远县| 晋中市|