通过反射对任意class类中方法赋值的方式

Posted bin-zhao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过反射对任意class类中方法赋值的方式相关的知识,希望对你有一定的参考价值。

import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

import java.lang.reflect.Method;


@Component
public class SetPlatformUtils {
private static final CoreServiceType c = CoreServiceType.getInstance();

public void setVal(Object obj, String methodName, String platform){
//获取obj代表的实体类class对象
Class clazz = obj.getClass();
Method method = null;
try {
//获取class对象中的指定的方法
method = clazz.getMethod(methodName, String.class);
//给方法赋值
if (StringUtils.isBlank(platform)){
method.invoke(obj,c.CODE.get("1"));
}else{
method.invoke(obj, c.CODE.get(platform));
}
}
catch (Exception e) {
logger.error("存储二级分类的反射工具类出错,obj:{},methodName:{},platform:{},",obj,methodName,platform);
}
}
}

以上是关于通过反射对任意class类中方法赋值的方式的主要内容,如果未能解决你的问题,请参考以下文章

Java 反射学习笔记

java反射机制

Java反射

java 27 - 2 反射之 反射的概述以及获取Class文件对象的方式

JAVA什么是反射?

JavaSE之反射