Java 泛型与 ArrayList 添加元素

2024-01-04

我有课A, B, C and D where B延伸A, C延伸A and D延伸A.

我有以下内容ArrayList每个都有一些元素:

ArrayList<B> b;
ArrayList<? extends A> mix = b;

我打算为变量mix包含类型的元素B, C or D。我尝试添加一个 type 元素C into mix像这样:

mix.add(anElementOfTypeC);

但 IDE 不允许我这样做,它说:

anElementOfTypeC 无法通过调用方法转换为 CAP#1 转换,其中 CAP#1 是新的类型变量:CAP#1 从 A 扩展 捕获?延伸A

我用过吗<? extends A>正确吗?我该如何解决这个问题?


ArrayList<? extends A>表示某种未知类型的 ArrayList 扩展A.
这种类型可能不是C,所以你不能添加C到ArrayList。

事实上,由于您不知道 ArrayList 应该包含什么,因此无法添加anything到ArrayList。

如果你想要一个可以保存任何继承的类的ArrayListA, use a ArrayList<A>.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 泛型与 ArrayList 添加元素 的相关文章

随机推荐

  • 当我必须排除导航栏时如何使 div 为显示高度的 100%

    有个问题我在导航栏下面有一个 div 我希望 div 拥有 100 的剩余空间 并在其周围添加一个漂亮的填充作为 Frame 它不应该是可以滚动的 另外 我无法以某种方式绑定导航栏 因为在项目中它的组件完全不同 我尝试简化我的代码 nav
  • 使用 Ransack 搜索多个字段

    我正在使用 Ransack 来允许对我的用户进行高级搜索 目前 用户已first name middle name and last name列 这是我的代码 field f attribute fields do a a attribut
  • GetProcAddress 返回 NULL

    我必须使用 DLL 中的一个简单函数 我能够加载库 但 GetProcAddress 返回 NULL 我想我理解名称修改 但也许我做错了什么 谢谢 代码如下 我将尽快添加所需的其他信息 mydll h ifdef MYDLL EXPORTS
  • 我可以用 JPA 命名我的约束吗?

    当我使用 maven hibernate3 plugin 又名 hbm2ddl 生成数据库模式时 它会创建许多数据库约束 其约束名称非常难以记住 例如FK7770538AEE7BC70 有没有办法提供一个更有用的名称 例如FOO FK BA
  • 在 Shiny 中单击按钮时自动滚动

    我有一个选项卡式闪亮应用程序 它根据用户输入生成相当多的内容 我试图弄清楚每次生成新内容时如何滚动到活动选项卡的底部 我尝试实现此中给出的答案question https stackoverflow com questions 366777
  • Android Wi-Fi 直连网络

    我正在Android上开发一个应用程序 我正在搜索范围内的所有对等点 然后与所有这些点连接 发起发现的设备成为组所有者 所有其他人成为客户端 我已经完成了所有连接的事情但现在我想让群组所有者向所有连接的对等点发送消息 如何实现这一点 还请告
  • 当活动在后台时,Android 服务无法连接到服务器

    这是我在 stackoverflow 上的第一篇文章 所以我希望我做的一切都是正确的 我正在开发我的第一个 Android 应用程序 并且在某些设备上遇到奇怪的行为 我有一个前台服务 可以定期获取设备的位置 并使用带有延迟运行程序的处理程序
  • 无法将 img 标签附加到 p 标签

    我是 JavaScript 的初学者 我正在尝试创建一个脚本 当页面的 文件输入 元素加载文件时会触发该脚本 该脚本基本上应该创建一个p元素 在其中插入一个img a innerText and a span 因此将所有这些附加到表单中 下
  • 数字 0 在二进制浮点数格式中是什么样子?

    浮点格式 IEEE 有 32 位 第 1 位用于符号 之后 8 位用于有偏差指数 最后 23 位用于尾数 在这个尾数中 第一个 1 始终是 1 始终隐藏 这引出了我的问题 数字 0 在这种格式中是什么样子的 因为如果指数为 0 则该数字将始
  • 查找文件无法索引的原因?

    如何查找文件在 Alfresco 中索引失败的原因 除了之前的回复 如果节点无法建立索引 您可以了解原因 使用 SOLR 管理页面和模式浏览器 例如参见这里 http localhost 8080 solr4 alfresco schema
  • 在一张图中对不同范围的数据使用多个scale_colour_gradient比例

    我对 R 很陌生 所以如果我的问题中有不清楚的地方 请耐心等待 我有一个data frame 蛋白质 有 5 列 即 1 蛋白质名称 2 蛋白质 FC 3 蛋白质 pval 4 mRNA FC 5 mRNA pval 和 6 频率 我正在尝
  • Bash 脚本不会匹配正则表达式

    我有以下 bash 脚本 应该生成输出 TEST bin bash test TEST THING OBJECT X if test a zA Z0 9 a zA Z0 9 A Z s then echo BASH REMATCH 1 fi
  • Visual Studio 9.0 Beta 程序文件位于 C:\

    我在 C 根目录中有几个 Visual Studio 9 0 Beta 程序文件 eula 1028 txt eula 1031 txt eula 1033 txt eula 1036 txt eula 1040 txt eula 1041
  • 在 fullCalendar 上使用 clientEvents 方法过滤事件

    我有一个完整的日历正在运行 现在我想使用客户事件 http fullcalendar io docs event data clientEvents 过滤事件的方法如下 selecter provider somevalue events
  • 使用 HTTP 基本身份验证的 python Flask REST API 的安全性

    我的服务器上运行着 python Flask 公开了一个由 iOS 应用程序使用的 REST API 我正在使用 Flask HTTPAuth 模块进行 HTTP 基本身份验证 我想知道这有多安全 因为每个请求都会发送用户名 密码字符串 我
  • 大型backbone.js Web应用程序组织

    我目前正在开发一个基于backbone js 的大型网络应用程序 并且在组织 僵尸 等方面遇到了很多问题 因此我决定对代码进行重大重构 我已经编写了一堆辅助函数来处理 僵尸 但是 我想从头开始 为代码创建一个很好的结构 组织 我还没有找到很
  • 制作多列的表格视图

    我正在尝试创建这样的东西 其中每一行代表一个工作集 并包含重量和重复次数 用户可以通过按按钮添加新行 但我还没弄清楚如何在 tableView 中做到这一点 这就是我希望它看起来像这样 有什么建议 想法吗 有多种方法可以做到这一点 我将这样
  • 在 Ruby 中解析 JSON 字符串

    我有一个要在 Ruby 中解析的字符串 string desc someKey someValue anotherKey value main item stats a 8 b 12 c 10 有没有简单的方法来提取数据 这看起来像Java
  • 签名的 apk 中出现 ClassNotFoundException

    如果我在 Android 设备上安装并运行签名的 APK 则会收到此错误 如果我只是编译应用程序并直接在设备上运行 则不会出现此错误 似乎缺少的片段是在我的项目代码中 而不是在任何外部库中 我该如何调查该错误 我尝试重建 清理项目等 如果在
  • Java 泛型与 ArrayList 添加元素

    我有课A B C and D where B延伸A C延伸A and D延伸A 我有以下内容ArrayList每个都有一些元素 ArrayList b b ArrayList b