I want to convert map to Java bean, like this
public static <T> T convert(Map<String, Object> values, Class<T> beanClass) throws Exception {
T instance = beanClass.getConstructor().newInstance();
Map<String, Field> fieldMap = Stream.of(beanClass.getDeclaredFields())
.peek(field -> field.setAccessible(true))
.collect(Collectors.toMap(Field::getName, field -> field));
values.forEach((key, value) -> {
try {
fieldMap.get(key).set(instance, value);
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
}
});
return instance;
}
How can I optimize away Java reflection with byte buddy?