封裝的方法(可直接用)
1 /** 2 * 功能:通過反射獲取指定類的屬性名稱及屬性類型 3 * 4 * @param clazz 目標類 5 * @return 返回一個屬性類型及屬性名稱(左:類型 右:名稱) 6 */ 7 static public List<Pair<Object, Object>> getClassFielddNameAndType(Class clazz) { 8 Field[] fields = clazz.getDeclaredFields(); 9 List<Pair<Object, Object>> ofField = new ArrayList<>(); 10 for (Field field : fields) { 11 String[] str = field.getType().getName().split("\\."); 12 System.out.println(String.format("屬性:%s %s", str[str.length - 1], field.getName())); 13 ofField.add(Pair.of(str[str.length - 1], field.getName())); 14 } 15 return ofField; 16 }
1、目標類

2、獲取目標群類中的屬性及屬性的類型

3、代碼
1 @Test 2 public void testInterfaceParam() { 3 List<Pair<Object, Object>> ofFields = getClassFielddNameAndType(FileCircleRequest.class); 4 for (int i = 0; i < ofFields.size(); i++) { 5 System.out.println(String.format("%s %s", ofFields.get(i).getLeft(),ofFields.get(i).getRight())); 6 } 7 } 8 9 /** 10 * 功能:通過反射獲取指定類的屬性名稱及屬性類型 11 * 12 * @param clazz 13 */ 14 static public List<Pair<Object,Object>> getClassFielddNameAndType(Class clazz) { 15 Field[] fields = clazz.getDeclaredFields(); 16 List<Pair<Object,Object>> ofField = new ArrayList<>(); 17 for (Field field : fields) { 18 String[] str = field.getType().getName().split("\\."); 19 System.out.println(String.format("屬性:%s %s", str[str.length - 1], field.getName())); 20 ofField.add(Pair.of(str[str.length-1],field.getName())); 21 } 22 23 return ofField; 24 }
