【发布时间】:2015-12-24 10:36:34
【问题描述】:
我知道在 Java 中,有以下三种不同的方法可以将原始类型转换为相应的包装类。但是,如果性能至关重要,是否有任何首选方法?
Integer i = new Integer(5);
Integer i = 5;
Integer i = Integer.valueOf(5);
【问题讨论】:
-
“如果性能很关键”,它可能取决于您正在运行的任务。
Integer i = 5;感谢自动装箱与Integer i = Integer.valueOf(5);相同,这要归功于-128,127范围内的整数的内部缓存将允许您重用Integer类的这些实例,因此您将使用更少的空间。但是,如果您不关心空间,那么new Integer(5)可能会更快,因为您将跳过搜索缓存的整数。
标签: java wrapper primitive-types