서명을 기반으로 인터페이스에 메소드가 있는지 확인하고 싶습니다. 방법이 있어야한다메소드가 Java에서 콜렉션 <Foo>을 리턴하는지 확인하는 방법은 무엇입니까?
서명은 다음과 같습니다
Collection<Foo> methodName(Spam arg0, Eggs arg1, ...)
난 후, 이름을 찾을 매개 변수와 method.getName()
, method.getParameterTypes()
및 method.getReturnType()
로 각각 형식을 반환 Class.getMethods()
를 통해 방법을 찾을 수 있습니다.
하지만 Collection<Foo>
을 반환하는 메서드 만 선택하고 다른 컬렉션을 반환하지 않도록 반환 값의 형식을 어떻게 비교해야합니까?
method.getReturnType().equals(Collection.class)
(가) 위의 Foo
컬렉션을 반환하는 사람들을 위해뿐만 아니라, 컬렉션을 반환하는 모든 방법에 대한 진정한 될 것입니다.
참조 http://www.artima.com/weblogs/viewpost.jsp?thread=208860 – Artefacto
http://stackoverflow.co 중복 m/questions/3520057/how-can-i-learn-actual-type-generic-class-of-generic-class –
이것은 중복이 아닙니다. 질문은 인스턴스화가 아닌 매개 변수화 된 반환 유형을 검사하는 방법입니다 매개 변수화 된 형식의 –