2014-11-27 4 views
0

이 메서드 정의에 어떤 문제가 있습니까?Java generics - 컴파일러 오류

public static List<T extends MyObject> T find() { 

} 

컴파일러는 말한다 :

Syntax error, insert ";" to complete MethodDeclaration 
+0

클래스가 일반입니까? 그렇지 않다면 다음과 같은 메소드를 선언해야한다 :'public static List T find()' – ortis

답변

9

당신이 두 반환 형식이 있습니다. 당신이

public static <T extends MyObject> List<T> find() {} 
2

것 제네릭 형식 T을 소개하고 싶었다면

는 적절한 방법 선언은 다음과 같습니다

public static <T extends MyObject> List<T> find() { ... } 

(정적) 일반적인 방법, 일반 매개 변수를 작성 (들)는 리턴 유형 (return-type) 앞에 정의되어야합니다. 리턴 유형에서 사용될 수 있기 때문입니다.