如何找到在Java方法的返回类型?(How to find return type of a Met

2019-07-19 09:17发布

谁能帮我找到JAVA的方法的返回类型。 我想这一点。 不过遗憾的是它不工作。 请指导我。

 Method testMethod = master.getClass().getMethod("getCnt");

  if(!"int".equals(testMethod.getReturnType()))
   {
      System.out.println("not int ::" + testMethod.getReturnType());
   }

输出:

不INT :: INT

Answer 1:

该方法getReturnType()返回Class

你可以试试:

if (testMethod.getReturnType().equals(Integer.TYPE)){ 
      .....;  
}


Answer 2:

if(!int.class == testMethod.getReturnType())
{
  System.out.println("not int ::"+testMethod.getReturnType());
}


Answer 3:

返回类型是一个Class<?> ...得到一个字符串尝试:

  if(!"int".equals(testMethod.getReturnType().getName()))
   {
      System.out.println("not int ::"+testMethod.getReturnType());
   }


Answer 4:

getReturnType()返回一个Class对象,而你比较字符串。 你可以试试

if(!"int".equals(testMethod.getReturnType().getName() ))


Answer 5:

getReturnType方法返回一个Class<?>对象不是String一个您正在与它进行比较。 甲Class<?>对象将永远不会是等于一个String对象。

为了比较它们,你必须使用

!"int".equals(testMethod.getReturnType().toString())



Answer 6:

getretunType()返回Class<T> 您可以测试它等于整数类型

if (testMethod.getReturnType().equals(Integer.TYPE)) {
    out.println("got int");
}


Answer 7:

getReturnType()返回Class<?>而不是String ,所以你的比较是不正确。

Integer.TYPE.equals(testMethod.getReturnType())

要么

int.class.equals(testMethod.getReturnType())



文章来源: How to find return type of a Method in JAVA?