java List 的初始化 的一個小問題


今天在處理生成excel的時候用到了java的list,但是需要直接賦值固定的幾個變量,如果先初始化然后add的方法:

List<String> name = new ArrayList();

name.add("xxx");

name.add("yyy");

name.add("zzz");

這樣的方法似乎有點蠢,於是默默搜了下java list

 

https://docs.oracle.com/javase/7/docs/api/java/util/List.html

這個是list的官方文檔的樣子,可以看到大大的“Interface List<E>”。所以說List<String>不能直接實例化,而它有許多子類,AbstractListAbstractSequentialListArrayListAttributeListCopyOnWriteArrayListLinkedListRoleListRoleUnresolvedListStackVector等。

https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html

這里需要用的是ArrayList。

所以初始化一個list當然可以用List<String> name = new ArrayList();然后根據需求慢慢add。

然而有木有更簡潔的方法呢?如下

 

List<String> name = Arrays.asList("xxx","yyy","zzz");

or

List<String> name =new ArrayList<>(Arrays.asList("xxx","yyy","zzz"));

 

不過這樣的話這個list的size就固定了,不能再add了,要注意。

附上Stack Overflow地址http://stackoverflow.com/questions/13395114/how-to-initialize-liststring-object-in-java


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM