检查原始数据类型是否为 null

0 java

notional我有类型的原始变量double

private double notional;
Run Code Online (Sandbox Code Playgroud)

现在我必须进行null检查并抛出一个Exceptionif null

if (item.getNotional() == null) {
    throw new Exception("Rfgygf");
}
Run Code Online (Sandbox Code Playgroud)

但这不是正确的方法,因为原始类型不能是null。请解释如何在 Java 中执行正确的null检查notional

有没有办法用 with 来做到这一点double还是我需要将其转换为Double

Swe*_*per 7

诸如double和 之类的原始数据类型int不能为空。这就像一个int不可能1.1

这意味着,您无需担心原始数据类型的无效性!它们永远不会为 null,因此不会抛出NullPointerExceptions。我想您之所以感到困惑是因为您认为没有值的变量必须为空。但这是错误的。考虑这个类:

public class MyClass { int i; }
Run Code Online (Sandbox Code Playgroud)

现在您创建该类的一个对象:

MyClass obj = new MyClass();
Run Code Online (Sandbox Code Playgroud)

现在您打印obj.i. 会是什么?它不是 null,而是0

所有原始数据类型都有一个默认值。例如, 的默认值为int0, 的默认值为double0.0这就解释了为什么上面的obj.i值为 0。 那么 的默认值是多少char?它是'\0'

请记住,原始数据类型不能是null.

绝不

绝不

绝不