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。这个就是用来循环遍历时查找时的一次性赋值,避免覆盖的操作,写起来比较方便。

记录一波,免的忘记。

posted @ 2021-04-01 15:25  可飞  阅读(1733)  评论(0编辑  收藏  举报