谁能帮我找到JAVA的方法的返回类型。 我想这一点。 不过遗憾的是它不工作。 请指导我。
Method testMethod = master.getClass().getMethod("getCnt");
if(!"int".equals(testMethod.getReturnType()))
{
System.out.println("not int ::" + testMethod.getReturnType());
}
输出:
不INT :: INT
该方法getReturnType()
返回Class
你可以试试:
if (testMethod.getReturnType().equals(Integer.TYPE)){
.....;
}
if(!int.class == testMethod.getReturnType())
{
System.out.println("not int ::"+testMethod.getReturnType());
}
返回类型是一个Class<?>
...得到一个字符串尝试:
if(!"int".equals(testMethod.getReturnType().getName()))
{
System.out.println("not int ::"+testMethod.getReturnType());
}
getReturnType()
返回一个Class对象,而你比较字符串。 你可以试试
if(!"int".equals(testMethod.getReturnType().getName() ))
该getReturnType
方法返回一个Class<?>
对象不是String
一个您正在与它进行比较。 甲Class<?>
对象将永远不会是等于一个String
对象。
为了比较它们,你必须使用
!"int".equals(testMethod.getReturnType().toString())
getretunType()返回Class<T>
您可以测试它等于整数类型
if (testMethod.getReturnType().equals(Integer.TYPE)) {
out.println("got int");
}
getReturnType()
返回Class<?>
而不是String
,所以你的比较是不正确。
或
Integer.TYPE.equals(testMethod.getReturnType())
要么
int.class.equals(testMethod.getReturnType())