Я не имею в виду necro этот поток, но если вы использовали какой-либо из методов выше в цикле, ваша производительность будет ужасна. Создайте карту заранее
сначала возьмите искомый элемент в верхний регистр
item.getKey()
теперь создайте карту, которая имеет заглавную версию и истинные имена полей
Map<String, String> fieldNames = Arrays.asList(clazz.getDeclaredFields()).stream().collect(Collectors.toMap(t -> t.getName().toUpperCase(), f->f.getName()));
теперь используйте это, чтобы получить истинное имя поля
Field field = clazz.getDeclaredField(fieldNames.get(key));
Я бы сказал, всегда создавайте такую карту, всегда учитывайте производительность, когда дело доходит до отражения.