public boolean remove(Object o) {
final Object[] es = elementData;
final int size = this.size;
int i = 0;
found: {
if (o == null) {
for (; i < size; i++)
if (es[i] == null)
break found;
} else {
for (; i < size; i++)
if (o.equals(es[i]))
break found;
}
return false;
}
fastRemove(es, i);
return true;
}
1
anofac 2019 年 10 月 15 日
java 的 label 语法,有点像其他语言的 goto,但不全是。"found"只是 label 的名字
|
2
IamNotShady 2019 年 10 月 15 日
|
3
0NF09LJPS51k57uH 2019 年 10 月 15 日
可以看一下 java 跳出循环的几种方式,label 类似于 goto 语法,可以用来跳出多重循环
|
4
guyeu 2019 年 10 月 15 日
这个是很早就有的一个 java 特性,可以命名一个语句块然后通过 break name 的方式跳出该语句块
|
5
Rwing 2019 年 10 月 15 日
我比较好奇这 repo 存一堆 jdk 源码干什么。。。拿来当网盘吗?
|
6
guyeu 2019 年 10 月 15 日
个人觉得和 goto 完全不同,它只是跳出而不是跳到,没办法用它来实现循环
|
7
kpppp OP |
8
lihongjie0209 2019 年 10 月 15 日
高级一点的 break, 可以跳出多个循环
|
9
C02TobNClov1Dz56 2019 年 10 月 15 日
@guyeu 相当于阉割版的 goto 语句
|
10
zazalu 2019 年 10 月 15 日
很早就有的特性,就是一个 label,定位识别区分用的呗
|
11
NotFoundEgg 2019 年 10 月 15 日
是一种支持多层 break 的标签
|
12
KINGOD 2019 年 10 月 16 日
|