我觉得这很愚蠢,但我是.
该行在List<HasId> ids = list以下代码中给出了编译错误:
public class MyGarbageClass {
public void myMethod(List<MyCompany> list){
List<HasId> ids = list;
}
interface HasId {
int getId();
}
class MyCompany implements HasId{
private int id = 5;
@Override
public int getId() {
return id;
}
}
}
Run Code Online (Sandbox Code Playgroud)
MyCompany实现了HasId所以我认为我应该能够分配它.为什么我不能?而且更重要的是,什么是分配给该对象的HasId列表的简单方法.
更新:列表ids = (List<HasId>)list;打破不可转换的类型