第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在一行中初始化ArrayList

在一行中初始化ArrayList

在一行中初始化ArrayList我想為測試目的創(chuàng)建一個選項列表。一開始,我做了這樣的事:ArrayList<String> places = new ArrayList<String>();places.add("Buenos Aires");places.add("Córdoba");places.add("La Plata");然后,我將代碼重構(gòu)如下:ArrayList<String> places = new ArrayList<String>(     Arrays.asList("Buenos Aires", "Córdoba", "La Plata"));有更好的方法嗎?
查看完整描述

3 回答

?
慕萊塢森

TA貢獻1810條經(jīng)驗 獲得超4個贊

實際上,可能是初始化ArrayList是您編寫的方法,因為它不需要創(chuàng)建新的List以任何方式:

ArrayList<String> list = new ArrayList<String>();list.add("A");list.add("B");list.add("C");

問題是,需要輸入相當多的類型才能引用它。list舉個例子。

還有其他方法,例如使用實例初始化器(也稱為“雙大括號初始化”)創(chuàng)建匿名內(nèi)部類:

ArrayList<String> list = new ArrayList<String>() {{
    add("A");
    add("B");
    add("C");}};

但是,我不太喜歡這個方法,因為您最終得到的是ArrayList它有一個實例初始化器,創(chuàng)建這個類只是為了創(chuàng)建一個對象-對我來說,這似乎有點過火了。

如果收集文字提案錢幣工程已被接受(計劃在Java 7中引入它,但它也不太可能是Java 8的一部分):

List<String> list = ["A", "B", "C"];

不幸的是,它不會在這里幫助您,因為它將初始化一個不可變的List而不是ArrayList,而且,如果將來的話,它還沒有上市。


查看完整回答
反對 回復 2019-06-20
?
一只名叫tom的貓

TA貢獻1906條經(jīng)驗 獲得超3個贊

如果你把它聲明為List-它一定要是一輛ArrayList嗎?

List<String> places = Arrays.asList("Buenos Aires", "Córdoba", "La Plata");

或者,如果您只有一個元素:

List<String> places = Collections.singletonList("Buenos Aires");

這意味著places不變(試圖更改它將導致UnsupportedOperationException(要拋出的異常)。

創(chuàng)建一個可更改的列表,這是一個具體的列表。ArrayList您可以創(chuàng)建一個ArrayList從不變的列表中:

ArrayList<String> places = new ArrayList<>(Arrays.asList("Buenos Aires", "Córdoba", "La Plata"));


查看完整回答
反對 回復 2019-06-20
  • 3 回答
  • 0 關(guān)注
  • 989 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號