我有一个我在java类中定义的Fraction对象。我需要能够用我创建的分数进行数学运算。当我使用未定义的分数进行数学运算时,我需要返回null。我的问题是当用户不知道返回null并尝试使用设置为null的Fraction对象进行数学运算时。
例如。
Fraction f1=null;
Fraction f2=new Fraction(1, 2);
Fraction f3=f1.add(f2);
这会给我一个错误。但是当我这样做时,没有错误。
Fraction f1=null;
Fraction f2=new Fraction(1, 2);
Fraction f3=f2.add(f1);
这不会出错,而是返回null。
为什么顶级示例错误以及如何强制它返回null?此外,检查分数是否为空不能在我的测试程序中发生,它必须在Fraction类中发生。 add运算符工作得很好。我只是希望它在Fractions对象等于null时返回null。
答案 0 :(得分:4)
您尝试做的事情是不可能的,因为您无法在null
对象上调用方法。尝试它总是会产生和异常。但是,如果这对您来说非常重要,您可以使用两个参数将API更改为静态方法:
public static Fraction add(Fraction f1, Fraction f2)
现在,如果其中一个参数为null
,您可以返回null
。
答案 1 :(得分:2)
在null
对象上调用方法,始终以NullPointerException
结束。