java 反射获得方法名后怎样判断方法是否含有参数

java反射获得方法名后怎样判断方法中是否要传参数、、、... java 反射获得方法名后怎样判断方法中是否要传参数、、、 展开
 我来答
百度网友c751b80d5
2011-05-14 · 超过32用户采纳过TA的回答
知道答主
回答量:118
采纳率:0%
帮助的人:113万
展开全部
public static void printMethods(Class cl)
{
Method[] methods =cl.getDeclaredMethods();//返回一个包含方法对象的数组
for(Method m : methods)//循环该类的每个方法
{
Class retType = m.getReturnType();//该方法的返回类型,
Sting name = m.getName();//获得方法名
Systen.out.print(" "+Modifier.toString(m.getModifiers());打印方法修饰符
System.out.print(" "+retType.getName() + " " + name +"(");

Class[] paramTypes = m.getParameterTypes();//获得一个方法参数数组(getparameterTypes用于返回一个描述参数类型的Class对象数组)

for(int j = 0 ; j < paramTypes.length ; j++)

{
if ( j > 0 ) System.out.print(" , "); //如果有多个参数,中间则用逗号隔开,否则直接打印参数
System.out.print (paramTypes[ j ].getName);
}
System.out.println (" );");
}}

//////////getparameterTypes方法用于返回一个描述参数类型的Class对象数组)
ssjmhyvi
2011-05-14 · TA获得超过592个赞
知道小有建树答主
回答量:310
采纳率:0%
帮助的人:291万
展开全部
同样有方法可以获取参数的,你可以看下以下代码实现。
for (Method method : methods) {
System.out.println("method:" + method.getName());// 方法名
// //////////////方法的参数
System.out.println(" paramTypeType: ");
Type[] paramTypeList = method.getGenericParameterTypes();// 方法的参数列表
for (Type paramType : paramTypeList) {
System.out.println(" " + paramType);// 参数类型
if (paramType instanceof ParameterizedType)/**//* 如果是泛型类型 */{
Type[] types = ((ParameterizedType) paramType)
.getActualTypeArguments();// 泛型类型列表
System.out.println(" TypeArgument: ");
for (Type type : types) {
System.out.println(" " + type);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式