程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Arrays.asList解析

Arrays.asList解析

編輯:關於JAVA
 

Arrays.asList 返回數組而非List

List的一個典型的特性就是其長度是可變的,我們可以很方便地對它進行插入和刪除元素的操作,這是它與數組所存在的一個很大的區別,後者的長度是固定的,而且我們不能從數組中刪除元素,只能修改元素的值。
利用Arrays.asList(array)返回一個List,然而這個返回的是只讀的List不支持add和remove的操作。 JDK文檔是這麼說的:
public static <T> List<T> asList(T... a) 返回一個受指定數組支持的固定大小的列表。(對返回列表的更改會“直接寫”到數組。)此方法同 Collection.toArray() 一起,充當了基於數組的 API 與基於 collection 的 API 之間的橋梁。返回的列表是可序列化的,並且實現了 RandomAccess。此方法還提供了一個創建固定長度的列表的便捷方法,該列表被初始化為包含多個元素: List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");
  可以看出這是對數組的一個簡單包裝,提供了一個可按照List方式訪問的外殼而已,其本質還是數組。在.net中,Array和List都實現IList接口,當我們通過IList接口來訪問一個數組時其實就與訪問Arrays.asList(array)所返回的List是一樣的。
 
至於JDK裡說可以用來創建固定大小的List,我暫時還不知道在哪種情況下適用。  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved