Как определить по отражению, если метод возвращает 'void'
у меня есть java.lang.reflect.Method
объект и я хотел бы знать, если это тип возврата void
.
Я проверил документации и getReturnType()
метод, который возвращает объект класса. Дело в том, что они не говорят, какой будет тип возврата, если метод является пустым.
спасибо!
5 ответов:
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