我正在尝试用 Java 执行数据库插入或更新。
该方法将
eventId
接收为 Long
。
当我运行以下命令时,我的代码本质上返回一个
NullPointerException
:
if (!(eventId>0)) {
eventId = null;
}
但是,在到达数据库之前,我需要将
eventId
显式设置为 null
以获得 insert
。
所以基本问题是,如何将
null
设置为 Long
变量而不使其被 NullPointerException
炸毁?
如果
eventId
已经是 null
,eventId>0
将抛出 NPE。
修复很简单:
if (eventId != null && eventId <= 0) eventId = null;
注意:出于显而易见的原因,
!(eventId > 0)
最好写成 eventId <= 0
。