у меня около 10+ классов, и каждый имеет статические константы LUMP_INDEX и SIZE. Мне нужен массив каждого из этих классов, где размер массива вычисляется с использованием этих двух констант. На данный момент у меня есть функция для каждого класса для создания массива, что-то вроде:
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;
}
и т. Д. Всего таких функций 10, и единственное различие заключается в типе класса, поэтому, как видите, существует масса дублирования.
Есть ли у кого-нибудь идеи, как избежать этого дублирования? Спасибо. (Я задавал аналогичный вопрос раньше, но я думаю, что способ, которым я его задавал, был немного неуместным)