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