如何通过反射确定方法是否返回“void”
2022-08-31 12:50:56
我有一个对象,我想知道它的返回类型是否是。java.lang.reflect.Method
void
我已经检查了Javadocs,并且有一个返回Class对象的方法。问题是,如果该方法是无效的,他们不会说返回类型是什么。getReturnType()
谢谢!
我有一个对象,我想知道它的返回类型是否是。java.lang.reflect.Method
void
我已经检查了Javadocs,并且有一个返回Class对象的方法。问题是,如果该方法是无效的,他们不会说返回类型是什么。getReturnType()
谢谢!
if( method.getReturnType().equals(Void.TYPE)){
out.println("It does");
}
快速示例:
$cat X.java
import java.lang.reflect.Method;
public class X {
public static void main( String [] args ) {
for( Method m : X.class.getMethods() ) {
if( m.getReturnType().equals(Void.TYPE)){
System.out.println( m.getName() + " returns void ");
}
}
}
public void hello(){}
}
$java X
hello returns void
main returns void
wait returns void
wait returns void
wait returns void
notify returns void
notifyAll returns void
method.getReturnType()==void.class √
method.getReturnType()==Void.Type √
method.getReturnType()==Void.class X