Así, según tengo entendido, uno siempre debe programa a una interfaz, como en:programación a una interfaz - evitando el elenco más tarde
List<Integer> list = new LinkedList<Integer>();
Así que, más tarde en mi programa tengo:
public List<Integer> getIntegers() {
return list;
}
public void processIntegers() {
// I need an arraylist here
ArrayList<Integer> list = (ArrayList<Integer>) getIntegers(); // can I do this better, without a cast?
}
¿Puedo seguir un patrón mejor aquí o de alguna manera hacer algo para evitar el reparto? Casting parece muy feo en este escenario.
Gracias.
También me pregunto por qué esto es mejor que utilizar todo el tiempo una lista de arreglos si al final un lanzamiento es inevitable. – dontcare
@dontcare Para que pueda pasar esta lista de enteros a una función genérica que solo acepta una lista, no específicamente una lista de arrays. – jn1kk
debe programar al tipo menos específico que puede conseguir y no más. – plasma147