首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多个条件的百里香#aggregates.sum

具有多个条件的百里香#aggregates.sum
EN

Stack Overflow用户
提问于 2019-10-17 03:58:24
回答 1查看 1.5K关注 0票数 0

我有一个MyObject列表,如下所示

代码语言:javascript
复制
List<MyObject> myObjList; 

其中MyObject是定义如下的类

代码语言:javascript
复制
 public class MyObject{

     private String status;
     private double amount;        

    }

现在,我希望仅当数量不为空并且状态代码既不为XX也不为YY时,才从列表中获取金额总和

我知道我可以在java上做到这一点,但我需要在胸腺叶上做到这一点,这是我尝试过的,但它不起作用。

代码语言:javascript
复制
aggregates.sum(myObjList.?[amount!= null && (status!='XX' || status!='YY')].![amount])

我没有收到任何错误。我不确定我在这里做错了什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-17 04:14:01

不工作是什么意思?你打错电话了吗?无论如何,您的布尔表达式是不正确的。该表达式读取(status != 'XX' || status != 'YY'),它将匹配所有记录。

例如,如果为status = 'XX',则:

代码语言:javascript
复制
('XX' != 'XX' || 'XX' != 'YY') => (false OR true) => true

同样的事情也发生在YY

代码语言:javascript
复制
('YY' != 'XX' || 'YY' != 'YY') => (true OR false) => true

除此之外,一切似乎都很适合我。更正表达式(不需要状态的括号,除非您认为它读起来更好):

代码语言:javascript
复制
${#aggregates.sum(myObjList.?[amount != null && (status != 'XX' && status!='YY')].![amount])}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58420860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档