欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-05-18 20:17:27
import org.apache.commons.lang3.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Component; im ......

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);
}
}
}