反射入参变出参 /** * 反射获取值 * * @param vo * @param clazz * @param <T> * @return */ protected <T> T pack(LevelVo vo, Class<T> clazz) { try { T t = clazz.newInstance(); Field field = clazz.getDeclaredField("name"); field.setAccessible(true); field.set(t, vo.getName()); List<BaseVo> baseVos = vo.getNames().stream().map(e -> { BaseVo baseVo = new BaseVo(); baseVo.setName(e); return baseVo; }).collect(Collectors.toList()); Field[] declaredFields = clazz.getDeclaredFields(); for (Field declaredField : declaredFields) {//只存在一个 if (declaredField.getType().getName().contains("java.util.List")) { declaredField.setAccessible(true); declaredField.set(t, baseVos); break; } } return t; } catch (Exception err) { err.printStackTrace(); } return null; }
2021-03-30
最新推荐文章于 2021-07-22 19:35:40 发布