Я полагаю, что проблема возникает, когда вы запускаете покрытие кода с помощью Jacoco.
Основная причина:
jacoco добавит статическое поле в ваш класс по причине@ Годин объяснил.
Решение:
вам нужно использовать отражение Java только на «исходных» полях.Вы можете либо явно исключить поле с именем $ jacocoData, либо использовать аннотацию в качестве фильтра, например, g.
Field field = fields[i];
Idx annotation = field.getAnnotation(Idx.class);
if (annotation == null) {
continue;
}