2011-10-25 7 views
0

내 인터페이스 메서드에서 제네릭 메서드 매개 변수를 작성하려면 어떻게해야합니까?인터페이스에서 일반 메서드 매개 변수를 쓰는 방법

<ID extends Object> ID 

어떤 아이디어 :

public <T extends Mail> T getById(HttpServletResponse response, <ID extends Object> ID); 

이 줄은 나에게 오류를 제공?

+0

'public T getById (HttpServletResponse response, Object ID)와 어떻게 다른가요?'? – newacct

답변

4

끝났습니다. extends Object 와일드 카드에 대한 의미 바운드 아니라고

public <T extends Mail, ID> T getById(HttpServletResponse response, ID id) { 

참고. 그리고 단일 메서드에서 ID을 와일드 카드로 선언하면 아무런 경계도없이 거의 도움이되지 않습니다.

+0

난 그냥 속임수로 사용하고 싶다. Object 대신 ObjectId를보고 싶습니다. (더 명확히하려면 javadoc을 추가 할 것입니다.) 그러나 Object가 아닌 String (때로는 Integer)을 사용하려는 메서드를 구현할 때 문제가 있습니다. 오류가 발생했기 때문에 어떻게 할 수 있습니까? – kamaci

+0

코드가 명확 해지면 언 바운드 형식을 선언해도 문제가 없습니다. 그렇다면 어떤 오류가 발생했는지 확신 할 수 없습니다 ... 코드를 게시하십시오. 오류가 표시됩니다. –

+0

반환 할 수있는 유일한 방법은'null'입니다. 또한 정상적으로 돌아올 수 없습니다. –

관련 문제