EnumSimpledCoder支持字段名作为setter方法名

This commit is contained in:
redkale
2023-01-29 20:11:17 +08:00
parent 5740d2704a
commit ed5c52cfdc

View File

@@ -44,7 +44,13 @@ public final class EnumSimpledCoder<R extends Reader, W extends Writer, E extend
char[] chs = fieldName.toCharArray(); char[] chs = fieldName.toCharArray();
chs[0] = Character.toUpperCase(chs[0]); chs[0] = Character.toUpperCase(chs[0]);
String methodName = "get" + new String(chs); String methodName = "get" + new String(chs);
Method method = type.getMethod(methodName); Method method = null;
try {
method = type.getMethod(methodName);
} catch (NoSuchMethodException | SecurityException me) {
method = type.getMethod(fieldName);
methodName = fieldName;
}
RedkaleClassLoader.putReflectionMethod(methodName, method); RedkaleClassLoader.putReflectionMethod(methodName, method);
Map<E, Object> map1 = new HashMap<>(); Map<E, Object> map1 = new HashMap<>();
Map<String, E> map2 = new HashMap<>(); Map<String, E> map2 = new HashMap<>();