2012-05-03 3 views
2

Java의 구문에 대한 간단한 질문입니다. Set을 가져 와서 라이브러리에 대한 정적 메서드로 List를 반환하고 싶습니다. 다음은 컴파일러 오류를 발생시키고 이유를 알지 못합니다.라이브러리 함수 : 목록으로 집합 만들기

public static List<T> asList(Set<T> keySet) 
{ 
    // TODO Auto-generated method stub 
    return null; 
} 

메시지는 "T를 유형으로 해석 할 수 없습니다."입니다. 하지만 Java의 제네릭 형식에 대한 구문이 아닙니까?

답변

6

일반 메소드의 경우 반환 인수 앞에 <T> 유형을 넣어야합니다. 예 :

public static <T> List<T> asList(Set<T> keySet) 
{ 
    // TODO Auto-generated method stub 
    return null; 
} 
1

당신은 T가 구체적인 형태가 아니라 제네릭 형식 지정해야합니다 인수로 컬렉션을 취하고 무엇을이 작업을 수행 모든 목록 구현의 생성자가 있다는 것을

public static <T> List<T> asList(Set<T> keySet) 

주 정적 메서드는 않습니다.

List<Foo> list = new ArrayList<Foo>(setOfFoos); 
1

은 우선은

private static <T> List<T> asList(Set<T> keySet) { 
    return result; 
} 
T.를 지정해야 <T> 추가 : 나는 특히 유용 모르겠어요