哪个更好:让Java进行自动装箱或使用valueOf()

2022-09-02 10:14:37

我只是想知道让java autobox说一个整数有什么区别:

Integer myInteger = 3; // This will call Integer.valueOf()

或者将您的代码作为

Integer myInteger = Integer.valueOf(3);

对此是否有任何微优化?我知道第二个更明确,但它也是更不必要的打字,除此之外还有什么区别吗?


答案 1

它们在内部是相等的,因此请使用第一个变体。很有可能,未来的编译器优化可能会使第一个在未来更快。


答案 2

我会使用第一个选择。代码更少,也是一样的。

除非我预计该程序必须在旧版本的JVM上运行。但是,在这种情况下,这远非唯一的兼容性问题。

因此,不使用自动装箱的唯一原因是如果它不可用。


推荐