Este artigo compara a utilização de tipos primitivos e objetos.
public class App {
public static void main(String[] args) {
withLong();
withPrimitive();
}
private static void withLong(){
long start = System.currentTimeMillis();
Long sum = 0L;
for (long i = 0; i <= Integer.MAX_VALUE; i++) {
sum += i;
}
System.out.println(Double.valueOf(System.currentTimeMillis() - start) / 1000);
}
private static void withPrimitive(){
long start = System.currentTimeMillis();
long sum = 0;
for (long i = 0; i <= Integer.MAX_VALUE; i++) {
sum += i;
}
System.out.println(Double.valueOf(System.currentTimeMillis() - start) / 1000);
}
}
Ao executar o programa, constatamos que o uso do primitivo é, na média, 5 vezes mais rápido.
Desta maneira, a recomendação é: se você estiver manipulando uma grande quantidade de registros, como por exemplo, iterando uma lista de valores, de preferência ao primitivo. Se, trata-se de algo pontual, como tratar a idade em um formulário online, utilize o objeto.