如何在java中获取方法?

如何在java中获取方法?,java,integration-testing,mockmvc,Java,Integration Testing,Mockmvc,我想获得java中所有类的方法。我努力做到这一点; 我的项目中有一个XIT测试类 private List<String> getTestNames() { Method[] methods = XIT.class.getMethods(); List<String> listMethods = new LinkedList<>(); for (Method method : methods) {

我想获得java中所有类的方法。我努力做到这一点; 我的项目中有一个XIT测试类

private List<String> getTestNames() {
      
        Method[] methods = XIT.class.getMethods();
        List<String> listMethods = new LinkedList<>();
        for (Method method : methods) {
            if (method.isAnnotationPresent(Test.class)) {
                System.out.println(method.getName());
                listMethods.add(method.getName());
            }
        }
        return listMethods;
    }
我想删除XIT,我的项目中有很多IT测试类,我想为每个实体提供参数,并为所有*IT类运行:

private List<String> getTestNames(String entityname) {
        String fullentity = (entityname.substring(0,1).toUpperCase(Locale.US) + entityname.substring(1) );+ "IT"
        Method[] methods = **fullentity**.class.getMethods();
        List<String> listMethods = new LinkedList<>();
        for (Method method : methods) {
            if (method.isAnnotationPresent(Test.class) ) {
                System.out.println(method.getName());
                listMethods.add(method.getName());
            }
        }
        return listMethods;
    }
私有列表getTestName(字符串entityname){
String fullentity=(entityname.substring(0,1).toUpperCase(Locale.US)+entityname.substring(1));+“它”
方法[]方法=**fullentity**.class.getMethods();
List listMethods=新建LinkedList();
用于(方法:方法){
if(方法isAnnotationPresent(测试类)){
System.out.println(method.getName());
add(method.getName());
}
}
返回列表方法;
}

但是fullentity没有类,我有一个错误,fullentity的未知类。如何为每个实体转换类,或者应该做什么?

这是否回答了您的问题?好的,如果您有完全限定的类名,您可以使用
class.forName(fqcn)
否则您可能需要扫描类路径以查找符合某些条件的类(如何扫描取决于您有哪些可用的框架/库)。请尝试使用
class.forName(className)
。类名必须是完全限定的(即使用包名),我用它更新了类名,但仍然给出了相同的错误Class fullentity=Class.forName(entityname.substring(0,1).toUpperCase(Locale.US)+entityname.substring(1)+“IT”);Object obj=(Object)fullentity.newInstance();Method[]methods=obj.class.getMethods();但我有systems.bael.controller.sale.XIT、systems.bael.controller.res.YIT、systems.bael.controller.ask.ZIT等,还有很多测试类。如何为多个软件包创建全名@杰尔
Method[] methods = XClass.class.getMethods();