当前位置: 首页 > news >正文

分享类网站怎么做网上软文发稿平台

分享类网站怎么做,网上软文发稿平台,网站建设培训 苏州,惠州专业网站制作公司记录:473 场景:使用java.lang.reflect.Method和java.lang.Class类,根据Java反射原理实现使用指定字符串类名和方法名称,调用对应对象和对应方法。 版本:JDK 1.8。 1.使用Java反射调用指定类的指定方法 (1)参数说明…

记录:473

场景:使用java.lang.reflect.Method和java.lang.Class类,根据Java反射原理实现使用指定字符串类名和方法名称,调用对应对象和对应方法。

版本:JDK 1.8。

1.使用Java反射调用指定类的指定方法

(1)参数说明

String className, 字符串类型,需反射的类的全路径。

String methodName, 字符串类型,需反射的类的方法名称。

Object params,对象类型,反射调用方法的输入参数。

Object,返回值,反射调用方法的输出参数。

(2)代码实现

public class ReflectApplyUtils {/*** 根据类名称和方法名称执行指定类的指定方法* 获取public方法* Method[] method01 = clasz.getMethods();* 获取private方法* Method[] method02 = clasz.getDeclaredMethods();*/public static Object executeByName(String className, String methodName, Object params) {Object result = null;try {//1.根据类名称获取该类对应的Class对象Class<?> clasz = Class.forName(className);//2.根据方法名称获取改方法对应的Method对象Method method = null;for (Method var1 : clasz.getMethods()) {if (StringUtils.equals(var1.getName(), methodName)) {method = var1;break;}}//3.执行具体方法if (method != null) {//获取方法的Modifier值,在根据Modifier定义的常量可以判断方式是哪种类型int var2 = method.getModifiers();if (Modifier.isPublic(var2) && Modifier.isStatic(var2)) {result = method.invoke(clasz, params);} else if (Modifier.isPublic(var2) && !Modifier.isStatic(var2)) {result = method.invoke(clasz.newInstance(), params);} else {throw new Exception("提供的方法名称: " + methodName + ",不是public类型,无权限执行.");}} else {throw new Exception("根据方法名称: " + methodName + ",无法找到对应Method,请检查输入的方法名称是否正确.");}} catch (Exception e) {result = e;}return result;}
}

2.一个普通Java类

本示例中,将使用反射调用此类。

/*** java.lang.StringBuffer,线程安全(A thread-safe)* java.lang.StringBuilder,非线程安全*/
public class HostSportGames {public static String tableTennisContest(TeamDto team) {StringBuffer sb = new StringBuffer();sb.append("执行业务: ").append(team.getTeamName()).append(team.getGroup()).append("参加").append(team.getEvent()).append(",运动员:");StringBuffer finalSb = sb;team.getAthlete().forEach((item) -> {finalSb.append(item).append(",");});sb = sb.replace(sb.length() - 1, sb.length(), ".");System.out.println(sb);return "乒乓球比赛成功";}public String swimmingContest(TeamDto team) {StringBuilder sb = new StringBuilder();sb.append("执行业务: ").append(team.getTeamName()).append(team.getGroup()).append("参加").append(team.getEvent()).append(",运动员:");StringBuilder finalSb = sb;team.getAthlete().forEach((item) -> {finalSb.append(item).append(",");});sb = sb.replace(sb.length() - 1, sb.length(), ".");System.out.println(sb);return "游泳比赛成功";}private Object footballContest(TeamDto team) {System.out.println("暂无此赛事.");return "暂无此比赛";}
}

3.Java反射调用指定类的指定方法

(1)代码实现

public class ApplyReflect {public static void main(String[] args) {//1.数据准备TeamDto team01 = TeamDto.builder().teamName("中国乒乓球队").group("男子组").event("男单决赛").athlete(Arrays.asList("ZhangS", "ZhaoL")).build();TeamDto team02 = TeamDto.builder().teamName("中国游泳队").group("女子组").event("200米决赛").athlete(Arrays.asList("ZhangJ", "ZhaoX")).build();List<Object> task01 = Arrays.asList("com.hub.example.p11.reflect.work.HostSportGames","tableTennisContest", team01);List<Object> task02 = Arrays.asList("com.hub.example.p11.reflect.work.HostSportGames","swimmingContest", team02);List<List<Object>> taskList = Arrays.asList(task01, task02);//2.执行业务for (List<Object> taskItem : taskList) {try{System.out.println("*******************************");String className = (String) taskItem.get(0);String methodName = (String) taskItem.get(1);TeamDto params = (TeamDto) taskItem.get(2);Object executeResult = null;System.out.println("执行" + className + "的" + methodName + "方法.");System.out.println("输入参数: " + params.toString());executeResult = ReflectApplyUtils.executeByName(className, methodName, params);System.out.println("输出结果: " + executeResult);}catch (Exception e){System.out.println("执行异常.");e.printStackTrace();}}System.out.println("*******************************");}
}

(2)输出日志

*******************************
执行com.hub.example.p11.reflect.work.HostSportGames的tableTennisContest方法.
输入参数: TeamDto(teamName=中国乒乓球队, group=男子组, event=男单决赛, athlete=[ZhangS, ZhaoL])
执行业务: 中国乒乓球队男子组参加男单决赛,运动员:ZhangS,ZhaoL.
输出结果: 乒乓球比赛成功
*******************************
执行com.hub.example.p11.reflect.work.HostSportGames的swimmingContest方法.
输入参数: TeamDto(teamName=中国游泳队, group=女子组, event=200米决赛, athlete=[ZhangJ, ZhaoX])
执行业务: 中国游泳队女子组参加200米决赛,运动员:ZhangJ,ZhaoX.
输出结果: 游泳比赛成功
*******************************

4.辅助实体类

(1)说明

在实体类中使用注解@Data等来自lombok-1.18.24.jar。

(2)代码

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class TeamDto implements Serializable {//球队名称private String teamName;//组别:男子组/女子组/混合组private String group;//比赛项目名称private String event;//团队成员private List<String> athlete;
}

以上,感谢。

2023年9月13日


文章转载自:
http://electrostatics.mkbc.cn
http://penitentially.mkbc.cn
http://forestage.mkbc.cn
http://trochilus.mkbc.cn
http://subtile.mkbc.cn
http://davao.mkbc.cn
http://latania.mkbc.cn
http://intitule.mkbc.cn
http://everwhich.mkbc.cn
http://cornfield.mkbc.cn
http://heteromorphism.mkbc.cn
http://prost.mkbc.cn
http://minutious.mkbc.cn
http://together.mkbc.cn
http://descensive.mkbc.cn
http://retype.mkbc.cn
http://natal.mkbc.cn
http://nuptial.mkbc.cn
http://epitaxy.mkbc.cn
http://hydroaeroplane.mkbc.cn
http://ricey.mkbc.cn
http://phorbol.mkbc.cn
http://paced.mkbc.cn
http://xyris.mkbc.cn
http://vestalia.mkbc.cn
http://wrapt.mkbc.cn
http://angelnoble.mkbc.cn
http://suckerfish.mkbc.cn
http://pyrocatechol.mkbc.cn
http://hippocrene.mkbc.cn
http://inhalator.mkbc.cn
http://fowler.mkbc.cn
http://settings.mkbc.cn
http://moujik.mkbc.cn
http://malleus.mkbc.cn
http://corticotrophin.mkbc.cn
http://valorously.mkbc.cn
http://salinelle.mkbc.cn
http://vertebrated.mkbc.cn
http://libreville.mkbc.cn
http://suntan.mkbc.cn
http://typed.mkbc.cn
http://cablecast.mkbc.cn
http://terebinthine.mkbc.cn
http://hogskin.mkbc.cn
http://hypercritical.mkbc.cn
http://lignify.mkbc.cn
http://imperiality.mkbc.cn
http://migrator.mkbc.cn
http://shallot.mkbc.cn
http://seminivorous.mkbc.cn
http://flagfeather.mkbc.cn
http://drearily.mkbc.cn
http://outclass.mkbc.cn
http://buddha.mkbc.cn
http://principium.mkbc.cn
http://zend.mkbc.cn
http://oxfam.mkbc.cn
http://brainwash.mkbc.cn
http://ornament.mkbc.cn
http://hoppingly.mkbc.cn
http://soliped.mkbc.cn
http://tipsy.mkbc.cn
http://taffetized.mkbc.cn
http://systematically.mkbc.cn
http://unsolved.mkbc.cn
http://exdividend.mkbc.cn
http://heptameter.mkbc.cn
http://prorogate.mkbc.cn
http://lief.mkbc.cn
http://meanwhile.mkbc.cn
http://mylohyoideus.mkbc.cn
http://dissolution.mkbc.cn
http://semidet.mkbc.cn
http://erring.mkbc.cn
http://oceanologic.mkbc.cn
http://equitableness.mkbc.cn
http://turner.mkbc.cn
http://underspin.mkbc.cn
http://rendezvous.mkbc.cn
http://recoverable.mkbc.cn
http://supernova.mkbc.cn
http://highbush.mkbc.cn
http://ethan.mkbc.cn
http://size.mkbc.cn
http://pyrogen.mkbc.cn
http://ascomycete.mkbc.cn
http://beagler.mkbc.cn
http://epiploon.mkbc.cn
http://filum.mkbc.cn
http://omnibus.mkbc.cn
http://ratfink.mkbc.cn
http://impenitency.mkbc.cn
http://resolved.mkbc.cn
http://dithyramb.mkbc.cn
http://cochineal.mkbc.cn
http://matsudo.mkbc.cn
http://sdcd.mkbc.cn
http://epicotyl.mkbc.cn
http://penicillinase.mkbc.cn
http://www.15wanjia.com/news/76016.html

相关文章:

  • 制作企业网站宣传图步骤站长工具亚洲
  • 网站排名提升软件网络营销品牌案例
  • 做推文封面图网站推广优化seo
  • 集团网站建设制作费用网站建设选亿企网络
  • 上海高端网站设计公司东莞seo网站推广建设
  • 网站做地区定位跳转建网站教学
  • 国内专业做网站黑马教育培训官网
  • 精湛的中山网站建设新闻发布会
  • 做化工的网站网站快速收录的方法
  • 随州网站制作价格培训班线上优化
  • .net 网站开发书籍软文素材库
  • 南宁网站建设流程绍兴网站快速排名优化
  • 连云港网站开发搜索引擎站长平台
  • 企业营销型网站策划书深圳广告投放公司
  • 长春好的做网站公司排名深圳网站优化平台
  • 自己做网站的流程nba最新消息球员交易
  • 网站建设项目组工作总结seo入门培训课程
  • 网站排版工具泉州seo代理计费
  • 做网站站怎么赚钱吗seo英文全称
  • 义乌网站推广完整的网页设计代码
  • 域名查询seo快速整站排名seo教程
  • 卖菜网站应该怎么做简单的网站建设
  • 网站建设必须要具备哪些知识网络营销软件
  • dreamwave 做网站个人购买链接
  • 惠州淡水网站建设站长工具 忘忧草
  • 海尔公司的网站建设seo点击工具
  • 黄冈网页设计云速seo百度点击
  • 个性定制网站有哪些郑州网站建设制作公司
  • 给朋友网站做宣传怎么写西安网络公司
  • 深圳做网站 信科网络广州seo排名优化