without method getclass from example dynamically java reflection methods

java - method - Cómo determinar por reflexión si un Método devuelve ''vacío''



java reflection invoke method without parameters (5)

Tengo un objeto java.lang.reflect.Method y me gustaría saber si el tipo de devolución es void .

Javadocs los Javadocs y hay un método getReturnType() que devuelve un objeto Class. Lo que pasa es que no dicen cuál sería el tipo de devolución si el método es nulo.

¡Gracias!


Devuelve java.lang.Void.TYPE .


Hay otra forma, quizás menos convencional:

public boolean doesReturnVoid(Method method) { if (void.class.equals(method.getReturnType())) return true; }


method.getReturnType() devuelve void.class / Void.TYPE .


if( method.getReturnType().equals(Void.TYPE)){ out.println("It does"); }

Muestra rápida:

$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