No utilizaría matrices. Son problemáticos por varias razones y, de todos modos, no se puede declarar en términos de un tamaño de matriz específico. Pruebe:
List<List<String>> addresses = new ArrayList<List<String>>();
Pero, sinceramente, para las direcciones, crearía una clase para modelarlas.
Si se va a utilizar matrices sería:
List<String[]> addresses = new ArrayList<String[]>();
es decir, no se puede declarar el tamaño de la matriz.
Por último, no declare sus tipos como tipos concretos en casos como este (es decir, para addresses
). Use la interfaz como lo hice arriba. Esto se aplica a las variables miembro, tipos de retorno y tipos de parámetros.
por qué hay una clase separada? – r3zn1k
En última instancia, sugeriría una clase separada si este código es para durar. Puede que le interese un olor codificado que se describe como "Obsesión primitiva". – Grundlefleck
Gracias a todos por sus excelentes respuestas, creo que debería aceptar que es mejor usar una clase separada para esto. – Johan