7

我正在尝试使用用户输入和操作创建动态查询我的代码是我创建的条件列表,例如:

List<Criteria> criterias = new ArrayList<Criteria>();

并将条件添加到此列表中。并且它已成功添加。现在我想在每个标准之间进行操作。

 Criteria criteria = new Criteria().andOperator(criterias.get(0), criterias.get(1));

它工作正常但是我的输入不是固定的,所以我希望它应该动态添加,我试过了

for(int i=0;i<criterias.size();i++)
  Criteria criteria = new Criteria().andOperator(criterias.get(i));

我在哪里失踪?

4

1 回答 1

22

要通过 "$and" 运算符从标准列表中统一所有标准:

Criteria criteria = new Criteria().andOperator(criterias.toArray(new Criteria[criterias.size()]));

这是文档

于 2014-04-27T15:31:48.057 回答