直接将原始值分配给 Wrapper 类型和使用 valueOf API 有什么区别?IE
Long val = 91l;
和
Long val = Long.valueOf(91l);
这个问题源于我几天来一直在研究的一个错误。到目前为止,我还无法成功地重新创建它,并且会随机出现。我有一些对象是作为处理某些数据的一部分而生成的,这些对象有许多字段,其中一些是 Long 类型(包装器)我确信值被分配给所有变量,但在某些情况下它们只是出现 NULL,即使没有理由这样做。
与此问题相关的方式是,这些 Long 属性的 Set 方法实际上采用 long (原始)类型的参数,并使用第一种方法分配。我不确定这是否会导致它。我已经用第二种方法修改了我的代码,并且正在等待一些好的测试完成,然后我才会高兴地修复它。
我很想知道我提到的上述两种方法是否存在理论上的差异。(我通常大部分时间都使用第一个。)