Оптимизация Java для тяжелых перечислений, которые выдают нольJAVA

Программисты JAVA общаются здесь
Anonymous
Оптимизация Java для тяжелых перечислений, которые выдают ноль

Сообщение Anonymous »

У меня возникла проблема с оптимизацией моего Java-проекта. Вот проблема, упрощенная для более легкого понимания:
Во-первых, позвольте мне упомянуть, что у меня есть простой класс ListBuilder, который позволяет мне создавать списки из нескольких списков.< /em>
У меня есть класс Enum, содержащий варианты животных:

Код: Выделить всё

public enum Variant {
HORSE_CLASSIC(...),
HORSE_VARIANT_1(...),
...
HORSE_VARIANT_N(...),
DOG_CLASSIC(...),
...

public void Variant(...) {
...
}
}
У меня есть класс Constants, который группирует распространенные варианты:

Код: Выделить всё

public class Constants {
public final static List HORSE_STRIPED = Arrays.asList(Variant.HORSE_VARIANT_1, ...);
...
}
И, наконец, у меня есть класс Enum, который группирует моих животных:

Код: Выделить всё

public enum Animals {
HORSE(..., new ListBuilder(Arrays.asList(Variant.HORSE_CLASSIC).addList(Constants.HORSE_STRIPED).toList())),
...

public void Animal(...) {
...
}
}
Проблема в том, что мое перечисление Variant имеет тяжелые параметры, которые сами вызывают другие построители, в результате чего класс Constants инициализируется до того, как экземпляры перечисления Variant будут полностью созданы. В результате класс Constants будет иметь нулевой объект вместо перечислений Variant. Как мне с этим справиться? Я считаю, что моя структура достаточно хаотична и нуждается в доработке, но чем ее заменить? Если у кого-то есть идеи, я внимательно слушаю.


Подробнее здесь: https://stackoverflow.com/questions/787 ... oduce-null

Вернуться в «JAVA»