java中的|=符号
今天看mybaits源码的时候,发现了这个特殊的符号用法,|=。
for (ParameterMapping pm : boundSql.getParameterMappings()) {
String rmId = pm.getResultMapId();
if (rmId != null) {
ResultMap rm = configuration.getResultMap(rmId);
if (rm != null) {
hasNestedResultMaps |= rm.hasNestedResultMaps();
}
}
}
自己好奇测试了下用法,如下:
public static void main(String[] args) {
boolean flag = false;
for (int i = 0; i < 10; i++) {
flag |= i == 5;
}
System.out.println(flag);
}
上面输出为true。这个就是用来循环遍历时查找时的一次性赋值,避免覆盖的操作,写起来比较方便。
记录一波,免的忘记。