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);
}