作者Nomadismo (仕)
看板java
標題[語法] {{;}}意思
時間Sun Nov 14 02:51:12 2021
Hi 各位大神
小弟我在leetcode上面看一個solution
for (int num : nums) {
List<List<Integer>> newSubsets = new ArrayList();
for (List<Integer> curr : output) {
newSubsets.add(new ArrayList<Integer>(curr){{add(num);}});
}
我其實看不太懂的是第四行裡 {{;}}這個表示法,我想問一下具體上這個在
語法上代表什麼意義,以及通常大概在哪個情境下比較會這樣寫
我用google找了,但是找不太到,不知道是不是我關鍵字下錯
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 24.17.20.101 (美國)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/java/M.1636829474.A.D91.html
1F:→ ssccg: anonymous class + initializer block 11/14 03:26
2F:→ ssccg: new ArrayList<Integer>(curr){ } 這是個anonymous class 11/14 03:28
3F:→ ssccg: 應該看得懂吧,然後class裡面本來就有可以有initializer 11/14 03:28
4F:→ ssccg: block,裡面寫的內容會自動複製到所有constructor中 11/14 03:30
5F:→ ssccg: 比較常見的是另一個static initializer,因為沒有static 11/14 03:32
6F:→ ssccg: constructor可以用,所以要初始化static member就會用到 11/14 03:32
7F:→ ssccg: 兩個語法就只差在{ }前面有沒有static 11/14 03:33
8F:→ ssccg: 至於本篇的用法什麼時候會用到,我個人是從來沒想過就為了 11/14 03:34
9F:→ ssccg: 多呼叫一次add就去subclass ArrayList啦... 11/14 03:35
10F:→ ssccg: 我會分三行寫 11/14 03:37
11F:→ Nomadismo: 原來如此,感謝s大 11/14 04:20
12F:推 chipnndale: 可以問一下是第幾題嗎? 11/21 19:34