所以我们假设我想将一个成员变量设置为null。设置一个原始双成员变量为空
MyObject m = new MyObject();
m.setMyNumber(null);
编译错误:无法将null转换为double。
所以我想到了一个窍门。
MyObject m = new MyObject();
Double d = null;
m.setMyNumber(d);
感觉有点骇人,但编译器没有抛出任何错误。
问题是,如果我调用m.getMyNumber()会发生什么。
它可能会编译,但如果您运行该代码,您将得到NullPointerException,因为基元变量不能设置为null。 – khelwood
只要你使用'Double'包装器对象,它就会返回'null'。 –
根据您告诉我们的情况我们无法回答这个问题。如果我对方法签名做出合理的猜测,我会希望在第二个示例中的'setMyNumber'行出现运行时错误。 –