プリミティブ値を Wrapper 型に直接割り当てることと、valueOf API を使用することの違いは何ですか? すなわち
Long val = 91l;
と
Long val = Long.valueOf(91l);
この質問は、私が何日も頭を悩ませてきたバグから生じています。これまでのところ、正常に再作成できず、ランダムに表示されます。一部のデータの処理の一環として生成されるオブジェクトがいくつかあります。これらのオブジェクトには多数のフィールドがあり、そのうちのいくつかは Long (Wrapper) 型です。すべての変数に値が割り当てられていると確信していますが、場合によっては、単にその理由がない場合でも、NULL が出てきます。
この質問に関連する方法は、これらの Long 属性の Set メソッドが実際には long (プリミティブ) 型の引数を取り、最初のアプローチを使用して割り当てられたということです。それが原因であるかどうかはわかりません。私は 2 番目の方法でコードを修正しました。修正に満足する前に、適切なテストが完了するのを待っています。
私が言及した上記の2つの方法に理論的な違いがあるかどうか知りたい. (私は通常、ほとんどの場合最初のものを使用します。)