我有一個我在java類中定義的Fraction對象。我需要能夠用我創建的分數進行數學運算。當我用未定義的分數進行數學計算時,我需要返回null。我的問題是,當用戶不知道null返回並試圖做一個設置爲null的Fraction對象的數學運算。調用運算符時出現NullPointerException
例如。
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類中。 添加運算符工作得很好。當Fractions對象等於null時,我只想讓它返回null。
頂部示例失敗,因爲'f1'爲空,您無法在空值上調用函數。你可以做的是用一個靜態函數替換你的函數,該函數測試兩個操作數 – njzk2
你不能。在空引用上調用方法是一個錯誤,並且總是會導致NPE。 –
你想在第二個例子中分數f3返回null嗎? – Scitech