java 怎么在当前方法内部得到当前方法的参数类型列表
6个回答
展开全部
用反射机制,简单写了一个例子,不懂的可以看一下相关api public class OwerMethodParam {
public static void main(String[] args) {
new OwerMethodParam().test("bb");
}
public void test(String aa) {
Method[] methods = OwerMethodParam.class.getDeclaredMethods(); //取得这个类的所有方法
if (methods != null) {
for (int i = 0; i < methods.length; i++) {
Method method = methods[i];
if ("test".equals(method.getName())) { //取得本方法,这个方法是test,所以就用test比较
Class<?>[] paramsClass = method.getParameterTypes(); //取得参数列表的所有类
if (paramsClass != null) {
for (Class<?> class1 : paramsClass) {
System.out.println(class1.getName());
}
}
break;
}
}
}
}
public static void main(String[] args) {
new OwerMethodParam().test("bb");
}
public void test(String aa) {
Method[] methods = OwerMethodParam.class.getDeclaredMethods(); //取得这个类的所有方法
if (methods != null) {
for (int i = 0; i < methods.length; i++) {
Method method = methods[i];
if ("test".equals(method.getName())) { //取得本方法,这个方法是test,所以就用test比较
Class<?>[] paramsClass = method.getParameterTypes(); //取得参数列表的所有类
if (paramsClass != null) {
for (Class<?> class1 : paramsClass) {
System.out.println(class1.getName());
}
}
break;
}
}
}
}
追问
是在方法内部得到,请考虑重载的问题。谢谢
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一看你们就没有做过框架,获得当前方法在框架中相当有用,参考一个场景,如果我给当前这个方法加了一个注释,而其它的某个解析器需要通过这个方法的注释在这个方法执行前或者后去做一些处理(当然也可以用AOP来做),但是获得当前方法会更直接一些。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道你为什么想在方法内部得到参数列表,难道为了练习下java基础?
我以前没碰到过这样的问题,不过你可以采用反射来做,可是要考虑到重载,
感觉你就好像在问,世界上和你名字一样的人有哪些,又怎么能够证明你的名字就是你
我以前没碰到过这样的问题,不过你可以采用反射来做,可是要考虑到重载,
感觉你就好像在问,世界上和你名字一样的人有哪些,又怎么能够证明你的名字就是你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
。。什么叫得到参数类型列表,你既然能在方法内部了,你还看不到方法的参数列表吗?再说了,你如果想返回这个“参数列表”,你又用什么表示呢。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询