code

메서드가 'void'를 반환하는지 반영하여 확인하는 방법

codestyles 2020. 11. 14. 10:15
반응형

메서드가 'void'를 반환하는지 반영하여 확인하는 방법


나는 java.lang.reflect.Method객체를 가지고 있고 그것이 반환 유형이 void.

내가 체크 한 Javadoc과를 하고이 getReturnType()클래스의 객체를 반환 방법. 문제는 메서드가 void이면 반환 유형이 무엇인지 말하지 않는다는 것입니다.

감사!


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

method.getReturnType()void.class/를 반환합니다 Void.TYPE.


반환합니다 java.lang.Void.TYPE.


아마도 덜 전통적인 방법이 있습니다.

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

참고 URL : https://stackoverflow.com/questions/1924253/how-to-determine-by-reflection-if-a-method-returns-void

반응형