2017-09-25 105 views
3

是否有可能具有通用返回類型,以便可以使用接口以及實現來構建集合。集合的通用返回類型

public static void main(String[] args) { 
    List<Test1> list = ImmutableList.of(new Test1()); 
    List<ITest> test_return_1 = buildIntRange(list); 
    List<Test1> test_return_2 = buildIntRange(list); //error 
} 

private static <K extends ITest> List<ITest> buildIntRange(List<K> test) { 
    return ImmutableList.copyOf(test); 
} 

回答

4

當然可以。使用與ImmutableList.copyOf相同的簽名,或直接使用ImmutableList.copyOf

static <T> List<T> copyOf(Iterable<? extends T> collection)