报告在循环中调用的可以替换为 List.subList().clear()List.remove(index)

在删除多个元素的情况下,此替换对于大多数 List 实现更有效。

示例:


  void removeRange(List<String> list, int from, int to) {
    for (int i = from; i < to; i++) {
        list.remove(from);
    }
  }

在应用快速修复后:

  void removeRange(List<String> list, int from, int to) {
    if (to > from) {
      list.subList(from, to).clear();
    }
  }

快速修复自动添加范围检查,以防止在最小值大于最大值时可能出现的 IndexOutOfBoundsException。 如果代码中不可能出现这种情况,则可将其移除。

2018.2 的新功能