Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我最近遇到了一些奇怪的事情。考虑以下方法:
public boolean addAll(Collection<T> col) { boolean added = false; for(T t : col) added |= add(t); return added; }
虽然我知道这是要做什么,但如果它至少超过一次(如果后面的元素失败),那就不要将其更改为 false。但这实际上意味着什么。怎么读的。有没有类似的小工具boolean?
boolean
|=运算符等价于:
|=
added = ( added | add(t) );
它是按位或与等号组合。
因此,如果它之前已设置为 true (ie 1),如果您按位或 true 或 false ( 1or 0) 使用它,您将始终返回 true ( 1) as 0 OR 1 = 1and 1 OR 1 = 1。
1
0
0 OR 1 = 1
1 OR 1 = 1
它实际上与以下内容相同:
added = (added | add(t));