自定义反射工具类
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class SmartObject {
public static String getClassName(Class<?> object) {
return object.getName();
}
public static String getClassSimpleName(Class<?> object) {
return object.getSimpleName();
}
public static List<String> getClassFieldList(Class<?> object,Boolean ignoreSerialVersionUID) {
if(null==ignoreSerialVersionUID){
ignoreSerialVersionUID=true;
}
List<String> objectFiledList = new ArrayList<>();
Class<?> classInfo;
try {
classInfo = Class.forName(object.getName());
Field[] fieldList = classInfo.getDeclaredFields();
for (int i = 0; i < fieldList.length; i++) {
if(ignoreSerialVersionUID){
if (!fieldList[i].getName().equals("serialVersionUID")) {
objectFiledList.add(fieldList[i].getName());
}
}else{
objectFiledList.add(fieldList[i].getName());
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return objectFiledList;
}
public static List<String> getClassFieldTypeList(Class<?> object,Boolean ignoreSerialVersionUID) {
if(null==ignoreSerialVersionUID){
ignoreSerialVersionUID=true;
}
List<String> objectFiledList = new ArrayList<>();
Class<?> classInfo;
try {
classInfo = Class.forName(object.getName());
Field[] fieldList = classInfo.getDeclaredFields();
for (int i = 0; i < fieldList.length; i++) {
if(ignoreSerialVersionUID){
if (!fieldList[i].getName().equals("serialVersionUID")) {
objectFiledList.add(fieldList[i].getType().getName());
}
}else{
objectFiledList.add(fieldList[i].getType().getName());
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return objectFiledList;
}
public static List<String> getClassSimpleFieldTypeList(Class<?> object,Boolean ignoreSerialVersionUID) {
if(null==ignoreSerialVersionUID){
ignoreSerialVersionUID=true;
}
List<String> objectFiledList = new ArrayList<>();
Class<?> classInfo;
try {
classInfo = Class.forName(object.getName());
Field[] fieldList = classInfo.getDeclaredFields();
for (int i = 0; i < fieldList.length; i++) {
if(ignoreSerialVersionUID){
if (!fieldList[i].getName().equals("serialVersionUID")) {
objectFiledList.add(fieldList[i].getType().getSimpleName());
}
}else{
objectFiledList.add(fieldList[i].getType().getSimpleName());
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return objectFiledList;
}
public static Map<String,String> getClassFieldMap(Class<?> object,Boolean ignoreSerialVersionUID) {
if(null==ignoreSerialVersionUID){
ignoreSerialVersionUID=true;
}
Map<String,String> classFiledMap = new HashMap<>();
Class<?> classInfo;
try {
classInfo = Class.forName(object.getName());
Field[] fieldList = classInfo.getDeclaredFields();
for (int i = 0; i < fieldList.length; i++) {
if(ignoreSerialVersionUID){
if (!fieldList[i].getName().equals("serialVersionUID")) {
classFiledMap.put(fieldList[i].getName(),fieldList[i].getType().getName());
}
}else{
classFiledMap.put(fieldList[i].getName(),fieldList[i].getType().getName());
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return classFiledMap;
}
public static Map<String,String> getClassSimpleFieldMap(Class<?> object,Boolean ignoreSerialVersionUID) {
if(null==ignoreSerialVersionUID){
ignoreSerialVersionUID=true;
}
Map<String,String> classFiledMap = new HashMap<>();
Class<?> classInfo;
try {
classInfo = Class.forName(object.getName());
Field[] fieldList = classInfo.getDeclaredFields();
for (int i = 0; i < fieldList.length; i++) {
if(ignoreSerialVersionUID){
if (!fieldList[i].getName().equals("serialVersionUID")) {
classFiledMap.put(fieldList[i].getName(),fieldList[i].getType().getSimpleName());
}
}else{
classFiledMap.put(fieldList[i].getName(),fieldList[i].getType().getSimpleName());
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return classFiledMap;
}
public static List<String> getClassMethodNameList(Class<?> object) {
List<String> classMethodNameList = new ArrayList<String>();
Class<?> classInfo;
try {
classInfo = Class.forName(object.getName());
Method[] methodList = classInfo.getDeclaredMethods();
for (int i = 0; i < methodList.length; i++) {
classMethodNameList.add(methodList[i].getName());
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return classMethodNameList;
}
public static List<String> getClassMethodReturnTypeList(Class<?> object) {
List<String> classMethodReturnTypeList = new ArrayList<String>();
Class<?> classInfo;
try {
classInfo = Class.forName(object.getName());
Method[] methodList = classInfo.getDeclaredMethods();
for (int i = 0; i < methodList.length; i++) {
classMethodReturnTypeList.add(methodList[i].getReturnType().getName());
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return classMethodReturnTypeList;
}
public static List<String> getClassMethodSimpleReturnTypeList(Class<?> object) {
List<String> classMethodReturnTypeList = new ArrayList<String>();
Class<?> classInfo;
try {
classInfo = Class.forName(object.getName());
Method[] methodList = classInfo.getDeclaredMethods();
for (int i = 0; i < methodList.length; i++) {
classMethodReturnTypeList.add(methodList[i].getReturnType().getSimpleName());
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return classMethodReturnTypeList;
}
public static Map<String,String> getClassMethodInfoMap(Class<?> object) {
Map<String,String> classMethodInfoMap = new HashMap<>();
Class<?> classInfo;
try {
classInfo = Class.forName(object.getName());
Method[] methodList = classInfo.getDeclaredMethods();
for (int i = 0; i < methodList.length; i++) {
classMethodInfoMap.put(methodList[i].getName(),methodList[i].getReturnType().getName());
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return classMethodInfoMap;
}
public static Map<String,String> getClassSimpleMethodInfoMap(Class<?> object) {
Map<String,String> classMethodInfoMap = new HashMap<>();
Class<?> classInfo;
try {
classInfo = Class.forName(object.getName());
Method[] methodList = classInfo.getDeclaredMethods();
for (int i = 0; i < methodList.length; i++) {
classMethodInfoMap.put(methodList[i].getName(),methodList[i].getReturnType().getSimpleName());
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return classMethodInfoMap;
}
}