j.d*_*doe 2 java generics interface
我有一个接口和几个实现。我想创建一个方法,它可以接受接口集合及其任何实现的集合。
import com.google.common.collect.ImmutableList;
import java.util.Collections;
import java.util.List;
public class Main {
public interface ITest {
}
public static class Test1 implements ITest {
}
public static void main(String[] args) {
ITest t1 = new Test1();
List<ITest> lt1 = ImmutableList.of(t1);
Test1 t2 = new Test1();
List<Test1> lt2 = ImmutableList.of(t2);
buildIntRange(lt1);
buildIntRange(lt2);
}
private static List<ITest> method(List<ITest> test) {
return Collections.unmodifiableList(test);
}
}
Run Code Online (Sandbox Code Playgroud)
该方法是否可以接受List<ITest>和List<Test1>作为其参数?
只需修改签名以接受List<? extends ITest>:
private static List<ITest> method(List<? extends ITest> test) {
return Collections.unmodifiableList(test);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
633 次 |
| 最近记录: |