哇咔咔...{} 2021-12-08 09:29 采纳率: 88.9%
浏览 44
已结题

为什么第一次使用set()就可以,第二次添加就错误?泛型

问题如下,书上说不是不能给对象添加新信息吗?
为什么第一次添加可以成功,第二次就失败?
————————————————-——————————————————————————

img

  • 写回答

3条回答 默认 最新

  • huoxin4415 2021-12-08 10:22
    关注

    不清楚书中所列的代码片段相关上下文代码,单纯从泛型与通配符的语法规则上没有发现有类似“只能赋值一次”的约束。
    另外参考官网教程的说明:

    It's important to note that List<Object> and List<?> are not the same. You can insert an Object, or any subtype of Object, into a List<Object>. But you can only insert null into a List<?>. 
    

    指出使用通配符?声明的变量,在实际使用时只能写入null,也就是说系统不清楚通配符所指何物。
    官网教程地址:https://docs.oracle.com/javase/tutorial/java/generics/unboundedWildcards.html
    希望对你有所帮助。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月22日
  • 已采纳回答 12月14日
  • 创建了问题 12月8日

悬赏问题

  • ¥15 yolov8边框坐标
  • ¥15 matlab中使用gurobi时报错
  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真