我最近遇到了一些奇怪的事情。请考虑以下方法:
public boolean addAll(Collection<T> col) {
boolean added = false;
for(T t : col)
added |= add(t);
return added;
}
虽然我明白这是做什么的,但是 - 如果它至少超过一次(如果后来的元素失败),则不要将其更改为false。但这究竟意味着什么呢。怎么读boolean
中是否有类似的小工具?
答案 0 :(得分:2)
|=
运算符与此相同:
added = ( added | add(t) );
答案 1 :(得分:2)
这是一个按位 - 或与等号组合。
因此,如果之前已将其设置为true(即1
),如果您按位,或者是真或假(1
或0
),那么,' ll总是返回true(1
)为0 OR 1 = 1
和1 OR 1 = 1
。
实际上与:
相同added = (added | add(t));