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