fortaotao 2012-12-05 10:22
浏览 321
已采纳

通过反射获取指定类的指定方法

[code="java"]
package test;

import java.lang.reflect.Method;

public class OtherTest {
public void doTest(OtherTest[] tests){

}
public static void main(String[] args) throws Exception{
    Class clazz = Class.forName("test.OtherTest");
    Method method = clazz.getDeclaredMethod("doTest", OtherTest[].class);

}

}
[/code]
请问有没办法通过clazz替换掉getDeclaredMethod的第二个入参,上面是写死成OtherTest[].class,但是实际情况下,需要写成通用方式,谢谢。
注:目前采用将入参OtherTest[]修改为一个中间类的方式规避,请不要告知这种解决办法。

  • 写回答

3条回答 默认 最新

  • _1_1_7_ 2012-12-06 10:55
    关注

    只按方法名称查询:
    [code="java"]package bluechip.lang;

    import java.lang.reflect.Method;

    public class TestReflect {
    public void doTest(TestReflect[] tests) {

    }
    public static void main(String[] args) throws Exception {
        Class clazz = Class.forName("bluechip.lang.TestReflect");
        Method[] methods = clazz.getDeclaredMethods();
        for (Method method : methods) {
            if (method.getName() == "doTest") {
                System.out.println(method);
                break;
            }
        }
    }
    

    }[/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用