Как определить отражением, если Метод возвращается 'пусто'

У меня есть a java.lang.reflect.Method возразите и я хотел бы знать, является ли это тип возврата, void.

Я проверил Javadoc и существует a getReturnType() метод, который возвращает Объект класса. Вещь состоит в том, что они не говорят, что было бы типом возврата, если метод является пустым.

Спасибо!

68
задан Pablo Fernandez 17 December 2009 в 20:09
поделиться

3 ответа

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 
106
ответ дан 24 November 2019 в 14:13
поделиться

method.getReturnType () возвращает void.class / Void.TYPE .

10
ответ дан 24 November 2019 в 14:13
поделиться

Он возвращает java.lang.Void.TYPE .

8
ответ дан 24 November 2019 в 14:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: