Tengo más de 10 clases y cada una tiene LUMP_INDEX y SIZE constante estática. Quiero una matriz de cada una de estas clases, donde el tamaño de la matriz se calcula utilizando esas dos constantes. En el momento en que tienen una función para cada clase para crear la matriz, algo a lo largo de las líneas de:Deduplicar esta duplicación de código Java
private Plane[] readPlanes()
{
int count = header.lumps[Plane.LUMP_INDEX].filelen/Plane.SIZE;
Plane[] planes = new Plane[count];
for(int i = 0; i < count; i++)
planes[i] = new Plane();
return planes;
}
private Node[] readNodes()
{
int count = header.lumps[Node.LUMP_INDEX].filelen/Node.SIZE;
Node[] nodes = new Node[count];
for(int i = 0; i < count; i++)
nodes[i] = new Node();
return nodes;
}
private Leaf[] readLeaves()
{
int count = header.lumps[Leaf.LUMP_INDEX].filelen/Leaf.SIZE;
Leaf[] leaves = new Leaf[count];
for(int i = 0; i < count; i++)
leaves[i] = new Leaf();
return leaves;
}
etc. Hay 10 de estas funciones, y las únicas diferencias son el tipo de clase, con el fin usted puede ver, hay una tonelada de duplicación.
¿Alguien tiene alguna idea sobre cómo evitar esta duplicación? Gracias. (Hice una pregunta similar antes, pero supongo que la forma en que pregunté fue un poco)
¿Tiene declaraciones de devolución en métodos vacíos? –
¿cuál es el objeto 'header' en estos métodos? –
¿Por qué no usarías una ArrayList? – bancer