Дедубликат это дублирование кода Java

у меня около 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, и единственное различие заключается в типе класса, поэтому, как видите, существует масса дублирования.

Есть ли у кого-нибудь идеи, как избежать этого дублирования? Спасибо. (Я задавал аналогичный вопрос раньше, но я думаю, что способ, которым я его задавал, был немного неуместным)

5
задан terryhau 26 March 2011 в 19:21
поделиться