java根据传入参数不同调用不同的方法,求高手支妙招!

关注:138  答案:5  mip版

解决时间 2021-02-02 20:33

提问者我微笑着泪滴

2021-02-02 07:00

比如invokeMethod(String method); 传入“1”调用method1(),传入“2”调用method2()...

要求:最好不使用反射,不使用if else ,不使用switch case

可以考虑抽象类,接口等。。。

最佳答案

二级知识专家敌不过时间逃不过距离

2021-02-02 07:49

使用反射可以如下:

public class Test {

public void method1() {

System.out.println("method1() invoked");

}

public void method2() {

System.out.println("method2() invoked");

}

public void method3() {

System.out.println("method3() invoked");

}

public void invokeMethod(String methodName) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {

Test.class.getMethod(methodName,null).invoke(this,null);

}

public static void main(String[] args) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {

new Test().invokeMethod("method2");

}

}不过按你的要求不知道怎么做

全部回答

1楼口袋里的自由

2021-02-02 11:34

这题目,额。。。。

2楼寄出个心动

2021-02-02 10:14

bad requirement.

invokeMethod("method"+1);

invokeMethod("method"+2);

3楼繁华初下,心已空

2021-02-02 08:59

使用switch语句

4楼错过の花开

2021-02-02 08:10

比较常用或者通用的方式是采用if语句。

语法:

if (逻辑条件判断)

{

语句块

}else if(逻辑条件判断){

}else{

}举例:

public class A{//定义一个类A

public void s1(){//定义方法s1

}

public void s2(){//定义方法s2

}

public void s3(){//定义方法s3

}

public void show(int a){//定义一个方法show

if(a==1){//如果a等于1

s1();//调用方法s1

}else if(a==2){

s2();//调用方法s2

}else{

s3();//调用方法s3

}

}

}

我要举报

如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

→点此我要举报以上信息!←

推荐资讯

大家都在看

java根据入参不同调不同方法_java根据传入参数不同调用不同的方法,求高手支妙招!...相关推荐

  1. Java校验入参之正则表达式校验特殊字符

    Java校验入参之正则表达式校验特殊字符 前言 实现流程 总结 参考链接 前言 场景描述 第三方调用接口时,有些特殊字符不允许传参,可能影响存储.或者加解密等问题,下面以斜杠"/" ...

  2. springboot接口入参下划线转驼峰以及返回参数驼峰转下划线实现

    转自:springboot接口入参下划线转驼峰以及返回参数驼峰转下划线实现 - 李东平|一线码农 - 博客园 (cnblogs.com) 1.背景 在实际开发中,通常来说java里面是使用驼峰的命名规 ...

  3. Java接口入参和出参规范建议

    把最近项目中遇到的问题跟大家分享下:最近做了一个项目,后端接口写好后和pc端vue联调完毕,业务还需要和App端[ios,andro]对接,问题来了,后端接口中的入参和出参都是Java数据类型[Dat ...

  4. Java泛型入参的三种通配符使用

    Java泛型中有三种通配符 1.<? extends xxx>子类界定 2.<? super xxx>超类界定 3.<?>无限定 1.<? extends x ...

  5. java校验入参的有效性的工具类

    闲来无事的时候,对之前项目中写过的代码做个简单的总结,其中有一个用于校验入参是否有效的工具类,在此记录一下,以便后续查询使用,现贴出以下代码, public void validateRequestP ...

  6. java封装入参_Spring Gateway自定义请求参数封装的实现示例

    一.需求 在使用spring gateway作为网关时,我们需要在经过网关的请求中添加一些需要传递给后续服务的公共参数,这个时候就可以用到spring gateway提供的自定义请求参数功能了. 二. ...

  7. 【JAVA】入参为null-转空字符串

    1.新建一个工具类 import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProces ...

  8. java url传参中文乱码问题_java中url传中文参数出现乱码

    缘由:java Http请求传输时将url以ISO-8859-1编码,服务器收到字节流后默认会以ISO-8859-1编码来解码成字符流(形成中文乱码).服务器 方法一:编码 咱们须要把request. ...

  9. Java后端带参跨域访问_java后端解决请求跨域

    跨域 跨域:指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制. 例如:a页面想获取b页面资源,如果a.b页面的协议.域名.端口.子域名不同 ...

最新文章

  1. 小议Oracle外键约束修改行为
  2. c语言 数组指针,C语言数组名及指向数组指针的小结
  3. Class文件结构(更新中)
  4. java的for循环
  5. 借助大数据进行社交媒体营销,企业们得这么玩!
  6. 构建用于Openstack Heat的Linux映像
  7. Blockchain.com,Eden Block,DACM等知名公司加入Pocket生态
  8. MC新手入门(十三)------ 添加游戏角色
  9. 一些经常会用到的Javascript检测函数
  10. Python学习入门基础教程(learning Python)--5.2 Python读文件基础
  11. 找不到ad用户和计算机,清理可能废弃的AD用户和计算机账户
  12. iTunes Windows 历史版本下载
  13. mysql当查询条件为空时不作为条件查询
  14. mac插网线不能上网_苹果笔记本连接网线不能上网怎么回事
  15. 香槟分校计算机研究生专业,2019伊利诺伊大学香槟分校计算机专业申请要求
  16. BootCDN——React入门学习
  17. 联合概率数据关联JPDAF详解
  18. 提高SDN控制器拓扑发现性能
  19. [DSP 日常记录] #2 TI DSP 的简单介绍与 DSP 的一些名词解释
  20. cad字体库大全2485种字体

热门文章

  1. h3c服务器系统丢失,某局点H3C FlexServer R390服务器阵列失败数据丢失的经验案例...
  2. linux小记 查看dd进度,linux小记:查看dd进度
  3. 进一步解析ie环境下z-index问题解决方法
  4. 强化学习环境学习-gym[atari]-paper中的相关设置
  5. ubuntu 22端口不通
  6. 谷歌无法加载pdf文档_如何从Google文档文档创建PDF
  7. k8s的Scheduler 原理(预选策略、优选策略)
  8. 数学建模-自来水管道铺设问题
  9. python学习笔记02-分支循环(图灵学院视频笔记)
  10. 常用的企业邮箱有哪些?企业邮箱有哪几种?