所以我們假設我想將一個成員變量設置爲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'行出現運行時錯誤。 –