ObjectTool.java 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package com.izouma.awesomeadmin.util;
  2. import java.lang.reflect.Field;
  3. import java.lang.reflect.Method;
  4. public class ObjectTool {
  5. /**
  6. * 获取属性名数组
  7. */
  8. public static String[] getFiledName(Object o) {
  9. Field[] fields = o.getClass().getDeclaredFields();
  10. String[] fieldNames = new String[fields.length];
  11. for (int i = 0; i < fields.length; i++) {
  12. // System.out.println(fields[i].getType());
  13. fieldNames[i] = fields[i].getName();
  14. }
  15. return fieldNames;
  16. }
  17. public static String[] getFiledName(String className) {
  18. try {
  19. Field[] fields = Class.forName(className).getDeclaredFields();
  20. String[] fieldNames = new String[fields.length];
  21. for (int i = 0; i < fields.length; i++) {
  22. // System.out.println(fields[i].getType());
  23. fieldNames[i] = fields[i].getName();
  24. }
  25. return fieldNames;
  26. } catch (Exception e) {
  27. e.printStackTrace();
  28. }
  29. return null;
  30. }
  31. /* 根据属性名获取属性值
  32. * */
  33. private static Object getFieldValueByName(String fieldName, Object o) {
  34. try {
  35. String firstLetter = fieldName.substring(0, 1).toUpperCase();
  36. String getter = "get" + firstLetter + fieldName.substring(1);
  37. Method method = o.getClass().getMethod(getter, new Class[]{});
  38. Object value = method.invoke(o, new Object[]{});
  39. return value;
  40. } catch (Exception e) {
  41. return null;
  42. }
  43. }
  44. }