Generalmente matrices tienen sus problemas, por ejemplo, tipo seguridad:
Integer[] ints = new Integer[10];
Number[] nums = ints; //that shouldn't be allowed
nums[3] = Double.valueOf[3.14]; //Ouch!
No juegan bien con las colecciones, tampoco. Así que, por lo general, debería preferir las Colecciones sobre las matrices. Hay algunas cosas donde las matrices pueden ser más convenientes. Como ya dijiste, los tipos primitivos serían una razón (aunque podrías considerar el uso de libs similares a colecciones como Trove). Si la matriz está oculta en un objeto y no necesita cambiar su tamaño, está bien utilizar matrices, especialmente si necesita todo el rendimiento que pueda obtener (digamos Vectores 3D y 4D y Matrices para gráficos 3D). Otra razón para usar matrices puede ser si su API tiene muchos métodos varargs.
Por cierto: hay un truco lindo que usa una matriz si usted necesita las variables mutables para las clases anónimas:
public void f() {
final int[] a = new int[1];
new Thread(new Runnable() {
public void run() {
while(true) {
System.out.println(a[0]++);
}
}
}).start();
}
Tenga en cuenta que no se puede hacer esto con una variable int, ya que debe ser definitiva.
posible duplicado de [Beneficios de matrices] (http://stackoverflow.com/questions/2843928/benefits-of-arrays). En general, ya encontrarás muchas preguntas sobre ArrayList vs Array aquí. –
¿por qué no unir y eliminar este? – bestsss