可能的重复:
New Integer 与 valueOf
我在一些地方读到 Integer.valueOf 比 new Integer() 更好,因为它允许编译器缓存值。那么我什么时候应该使用 new Integer() 而不是 Integer.valueOf() 。有没有我不应该使用 Interger.valueOf() 的原因/场景
谢谢
当您需要不同的对象标识时,可以使用 new。当您不使用 valueOf 时,您可以使用 valueOf。
当您对同一个值多次调用 valueOf 时,JVM 可能(事实上在某些情况下)会一遍又一遍地为您提供同一个对象。当你使用新的时,就不会了。因此,如果您需要多个不同的2对象(例如,出于不同的原因调用 wait on),请使用 new。
另一方面,如果您使用Integer代替 的唯一原因int是有可能null或存储在某个集合中,请使用valueOf。