wrappers raw ejemplos docs java performance autoboxing

raw - java docs generics



Lo que es mejor: dejar que Java haga autoboxing o usar valueOf() (3)

Lo que sé, realmente no hay una gran diferencia en el rendimiento. Consulte esta publicación here La diferencia no es realmente una diferencia, pero debe usar valueOf, porque Integer ahora almacena en caché objetos Integer entre -128 y 127.

Me pregunto si hay alguna diferencia en dejar que Java Autobox diga un entero:

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

o tener tu código como

Integer myInteger = Integer.valueOf(3);

¿Hay alguna micro optimización en esto? Sé que el segundo es más explícito, pero también es más innecesario escribir, ¿hay alguna diferencia además de esto?


Son iguales de todos modos internamente, así que usa la primera variante. Las posibilidades son buenas, que las futuras optimizaciones del compilador pueden hacer que la primera sea aún más rápida en el futuro.


Yo usaría la primera opción. Es lo mismo con menos código.

A menos que espere que el programa tenga que ejecutarse en una versión anterior de JVM. Sin embargo, en ese caso, esto estaría lejos de ser el único problema de compatibilidad.

Por lo tanto, la única razón para no usar el autoboxing es si no está disponible.