作者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/cn.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