相关疑难解决方法(0)

带有通用列表的Java引用分配

我觉得这很愚蠢,但我是.

该行在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;打破不可转换的类型

java generics casting list

3
推荐指数
1
解决办法
1991
查看次数

标签 统计

casting ×1

generics ×1

java ×1

list ×1