Java方法签名语法
我正在处理一个项目,该项目要求用户输入一个方法签名。我的代码接受了这个签名,并用它做了一些事情 但是为了能够使用它做些什么,我需要将方法签名分成几部分,并将这些部分存储在相关变量中,如修饰符、methodReturnType、methodName、paramModifiers、paramType、paramName、exceptions 为了实现这一点,我手动将逻辑放入代码中。另外,我使用HashMap作为修饰符,使用TreeSet作为异常。现在,有很多方法签名的外观。因此,我的问题/疑问是:Java方法签名语法,java,grammar,Java,Grammar,我正在处理一个项目,该项目要求用户输入一个方法签名。我的代码接受了这个签名,并用它做了一些事情 但是为了能够使用它做些什么,我需要将方法签名分成几部分,并将这些部分存储在相关变量中,如修饰符、methodReturnType、methodName、paramModifiers、paramType、paramName、exceptions 为了实现这一点,我手动将逻辑放入代码中。另外,我使用HashMap作为修饰符,使用TreeSet作为异常。现在,有很多方法签名的外观。因此,我的问题/疑问是:
我想你想要的答案是这个
您可以使用此代码实现这一点,它将遍历类的所有方法并尝试打印它们,打印它们的修饰符:
Class<?> c = Class.forName(SomeClass.class);
Method[] allMethods = c.getDeclaredMethods();
for (Method m : allMethods) {
out.format("%s%n", m.toGenericString());
out.format(" Modifiers: %s%n",Modifier.toString(m.getModifiers()));
}
Class c=Class.forName(SomeClass.Class);
方法[]allMethods=c.getDeclaredMethods();
对于(方法m:所有方法){
out.format(“%s%n”,m.toGenericString());
out.format(“修饰符:%s%n”,修饰符.toString(m.getModifiers());
}
看看这里,还有一些其他的例子请提供更多。这听起来正是我想要的。因此,我尝试使用它,并编写了以下代码:
methodtypesignaturemts=SignatureParser.make().parseMethodSig(method)代码>但是,在运行此程序时,我在sun.reflect.generics.parser.SignatureParser.error(未知源)上得到了以下异常:sun.reflect.generics.parser.SignatureParser.SignatureParser.SignatureParser.parseFormalParameters(未知源)在sun.reflect.generics.parser.SignatureParser.parseMethodTypeSignature上(未知源)在sun.reflect.generics.parser.SignatureParser.parseMethodSig(未知源)这里方法是一个字符串。method=“public static void main(string[]args)”;