【发布时间】:2020-10-15 19:31:38
【问题描述】:
想象以下场景
Long critId = Long.valueOf(criteriaIdentifier);
如果最初加载视图时criteriaIdentifier 可能为空,之后我根据JSF 视图中的selectedItem 设置值。
但是,Long.valueOf(criteriaIdentifier) 会抛出 NumberFormatException - 如果字符串无法解析为 long(即 null)。
我曾想过将 Id 默认设置为默认 -1,但我想知道是否有更好的做法。
PS:从技术上讲,criteriaIdentifier 不能为 -1,因为这些值是从数据库中使用序列生成器设置的,所以我应该知道 -1 是默认值并正确执行默认操作
【问题讨论】:
-
NumberFormatException- 如果字符串不能被解析为 long。已编辑 -
如果
null在某些情况下是预期值,请在之前执行空检查或使用 try/catch 环绕 -
@AndréStannek 它不应该为 NULL,如果是,我执行默认操作
标签: java parsing numberformatexception java.lang