Есть ли способ получить классы, объявленные поля (и методы) в порядке объявления с использованием отражения? Согласно документации, упорядочение методов и полей, возвращаемых getFields()
, getDeclaredFields()
и т.д., undefined.
Указание чего-то типа индекса возможно с помощью аннотации, как предложено в Отражение Java: упорядочен ли порядок полей и методов класса?
Есть ли лучшие варианты, то есть не нужно указывать индекс вручную?
Теперь, прежде чем вы спросите, для чего мне это нужно: у нас есть метод, который принимает довольно большую структуру данных в качестве входных данных и выполняет длительный расчет на нем. Чтобы создать модульные тесты, мы создали метод, который принимает входной объект и выходной экземпляр и создает исходный код Java (настройку ввода, вызов метода расчета и утверждение правильных результатов впоследствии) в качестве вывода. Этот код намного читаем, когда поля записываются в порядке объявления.