开发者社区> 问答> 正文

求教 java 泛型问题 下面这段代码错在哪里呢?

求教 java 泛型问题
下面这段代码错在哪里呢?

其中 Child 是 Parent 的子类。

public static void main(String[] args) {

    Child child = new Child();
    List<Child> childList = new ArrayList<Child>(); 
    childList.add(child);

    testList(childList);

    Map<String, Child> childMap = new HashMap<String, Child>();
    testMap(childMap);

}

private static void testList(List<? extends Parent> parent) {
    Child child3 = new Child();
    parent.add(child3);
}

private static void testMap(Map<String, ? extends Parent> parent) {
    Child child2 = new Child();
    parent.put("test", child2);
}

展开
收起
OSC开源社区 2024-05-31 15:33:03 14 0
1 条回答
写回答
取消 提交回答
  • private static void testList(List<? super Child> parent) {
            Child child3 = new Child();
            parent.add(child3);
        }
    
        private static void testMap(Map<String, ? super Child> parent) {
            Child child2 = new Child();
            parent.put("test", child2);
        }
    

    统一用List来处理逻辑,最好别出现List,List,List。 如: List list list.add(child) list.add(parent) Child与Parent有继承关系,但List与List并没有

    2024-05-31 16:25:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载