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

网站设计网站建设专业二级网站建设方案模板

网站设计网站建设专业,二级网站建设方案模板,长沙优化网站服务,自己做家具网站记录#xff1a;473 场景#xff1a;使用java.lang.reflect.Method和java.lang.Class类#xff0c;根据Java反射原理实现使用指定字符串类名和方法名称#xff0c;调用对应对象和对应方法。 版本#xff1a;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();ListObject task01 Arrays.asList(com.hub.example.p11.reflect.work.HostSportGames,tableTennisContest, team01);ListObject task02 Arrays.asList(com.hub.example.p11.reflect.work.HostSportGames,swimmingContest, team02);ListListObject taskList Arrays.asList(task01, task02);//2.执行业务for (ListObject 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女子组, event200米决赛, 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 ListString athlete; } 以上感谢。 2023年9月13日
http://www.dnsts.com.cn/news/125476.html

相关文章:

  • 佛山网站建设模板建站如何用自己的域名做网站
  • 大学生建设什么网站好互联网app推广工作怎么样
  • 怎样围绕网站专题发展来做ppt网站建设挣钱吗?
  • 网站建设源码导入湛江做网站需要什么
  • 电商设计师联盟网站网站域名品牌怎么写
  • 南通学校网站建设建设阅读网站的研究意义
  • 南宁较好的网站建设公司做赌钱网站
  • 网站建设教程这篇苏州久远网络淮南网站建设淮南
  • 有没有做网站源代码修改的php网站权限设置
  • 泉州做网站优化多少钱天津电商网站开发
  • 做西点的网站广州必玩的景点推荐
  • 自建网站平台有哪些功能网页制作基础教程第二版cc6照片
  • 邯郸做网站公司铜陵app网站做营销招聘信息
  • wordpress账号和站内网长沙点看网络科技有限公司
  • 企业网站的特点是济南品牌网站建设价格低
  • 印度做杂质的网站网站建设管理界面
  • 做相册网站logo手机网站页面大小
  • 做品牌网站哪个好用seo关键词挖掘工具
  • 万能建站网站杭州企业标志设计
  • 公司电商网站建设费用怎么记账网站设计与建设书
  • 重庆公司做网站商城小程序开发需要多少钱
  • 奉贤集团网站建设禁用wordpress裁剪
  • 网站内容创意网站数据库在空间吗
  • 找做玻璃的网站厦门电子商务网站建设
  • 成都网站制作长沙伪静态网站搬迁
  • 下什么软件做网站公司主页网址
  • html5网站多少钱淘宝网站制作培训
  • 南昌市建设局网站大连网站建设讯息
  • 做网站要租服务器吗关于网站建设的软文
  • 如何学网站开发盐田区网站建设