diff --git a/java/src/main/java/com/hzu/bookingsystem/converter/Map2Object.java b/java/src/main/java/com/hzu/bookingsystem/converter/Map2Object.java new file mode 100644 index 0000000..1b64bf5 --- /dev/null +++ b/java/src/main/java/com/hzu/bookingsystem/converter/Map2Object.java @@ -0,0 +1,40 @@ +package com.hzu.bookingsystem.converter; + +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.Map; +import java.util.Objects; + +public class Map2Object { + /** + * @param map + * @param clazz + * @return + */ + public static Object map2Object(Map map, Class clazz) { + if (map == null) { + return null; + } + Object ob = null; + try { + ob = clazz.newInstance(); + Field[] fis = ob.getClass().getDeclaredFields(); + for (Field fi : fis) { + int mod = fi.getModifiers(); + if (Modifier.isStatic(mod) || Modifier.isFinal(mod)) { + continue; + } + fi.setAccessible(true); + if (Objects.equals("entranceId", fi.getName())) { + String str = String.valueOf(map.get(fi.getName())); + fi.set(ob, Long.parseLong(str)); + } else { + fi.set(ob, map.get(fi.getName())); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return ob; + } +} \ No newline at end of file