Filter 是继承了 ArrayList。

Filter 新加了几个 remove 方法,用于移除前端查询条件中的特殊字段。但是 remove(Object o) 是 ArrayList 的方法,调用该方法去移除可能会导致 Filter 语义错误。

正确的方法

Filter newFilterA = filter.remove("name");
Filter newFilterB = filter.remove(Arrays.asList("name", "age"));

错误的用法

FilterOp name = filter.getFilterOp("name");
filter.remove(name);

后续版本,调用 remove(Object) 会抛出异常。