將原始值直接分配給包裝類型並使用valueOf API有什麼區別?即將原始值分配給包裝類的正確方法
Long val = 91l;
和
Long val = Long.valueOf(91l);
這個問題是從我一直在打破我的頭數天的錯誤。到目前爲止,我還沒有能夠成功地重新創建它,並且會隨機出現。我有一些對象是作爲處理一些數據的一部分而生成的,這些對象有許多字段,其中一些是Long(Wrapper)類型的。我確信值正被分配給所有變量,但在某些情況下,它們只是即使沒有理由,也會出現NULL。
這個問題相關的方式是,這些Long屬性的Set方法實際上使用long(primitive)類型的參數,並使用第一種方法分配。我不確定這是否會導致它。我已經用第二種方法修改了我的代碼,並且在我開始修復它之前,我正在等待一些好的測試來完成。
我很想知道在我提到的上述2種方法中是否有任何理論上的差異。 (我通常在大多數時間使用第一個。)