返回信息流不知道为什么在list数组里面就不可以用加强循环
这是一条镜像帖。来源:北邮人论坛 / java / #62884同步于 2019/10/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
关于java的加强循环
cleanhall
2019/10/29镜像同步12 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
我下面还要用那个a 强制转换吗
【 在 seen16 的大作中提到: 】
: IIterator it = graph[1].iterator();就可以了
大佬!!!
【 在 xuanyu66 的大作中提到: 】
: 第一行改为list<integer>就不会报错了。
: 问题就是如果x是y的子类,list<x>不会是list<y>的子类。你上面没申明的话默认就是list<object>了。
: 可以对比一下数组,数组就是协变的,泛型是不变的。
嗯嗯 刚刚试了 是对的 就是不知道原理
【 在 wslyh123 的大作中提到: 】
: for里面int a变成Object a,或者在graph声明的时候,使用List<Integer>[] graph,在IDEA里可以正常运行。
说错了,前面的删了(暴露了菜鸡本质)。Java向上转型OK,所以能add。向下转型需要强制转型,不然会报错。泛型就是个语法糖,会帮我们加上强制转型的代码。具体可以搜索 泛型 语法糖。
这个和协变,不变没有关系。
【 在 cleanhall (cleanhall) 的大作中提到: 】
: 那我前面add的时候也没有报错是什么问题