【发布时间】:2017-04-08 14:01:56
【问题描述】:
我有这个代码。它是tMap 右侧映射中的行异常过滤器:
row2.method.equals("Twitter") && (
row2.last_notified.equals(null) ||
row2.frequency.equals("Everytime") ||
(row2.frequency == "Hourly" && TalendDate.diffDate(TalendDate.addDate(row2.last_notified,1,"HH"), TalendDate.parseDate("yyyy-MM-dd HH:mm:ss", TalendDate.getDate("yyyy-MM-dd HH:mm:ss")), "HH") > 0) ||
(row2.frequency == "Daily" && TalendDate.diffDate(TalendDate.addDate(row2.last_notified,1,"dd"), TalendDate.parseDate("yyyy-MM-dd HH:mm:ss", TalendDate.getDate("yyyy-MM-dd HH:mm:ss")), "dd") > 0)
)
我有一个 nullPointerException。我知道frequency 不为空,method 也不为空。我知道last_notified 为空。根据我的逻辑,所有以"Twitter" 为值且没有last_notified 的行都应该通过。但是,看起来我失败了。
我知道 OR 语句是从左到右的。如果第一个值返回True,那么 OR 应该返回 true?我错过了什么?
【问题讨论】: