Java多态混乱

2024-04-05

下面的问题来自 Kathy Sierra 和 Bert Bates 所著的 Java SCJP5 书籍。 给定一个声明为的方法:

public static <E extends Number> List<E> process(List<E> nums)

程序员想要使用这样的方法:

// INSERT DECLARATIONS HERE
output = process(input);

哪对声明可以放在 // INSERT DECLARATIONS HERE 处以允许代码编译? (选择所有适用的选项。)

A.

ArrayList<Integer> input = null;
ArrayList<Integer> output = null;

B.

ArrayList<Integer> input = null;
List<Integer> output = null;

C.

ArrayList<Integer> input = null;
List<Number> output = null;

D.

List<Number> input = null;
ArrayList<Integer> output = null;

E.

List<Number> input = null;
List<Number> output = null;

F.

List<Integer> input = null;
List<Integer> output = null;

G. 以上都不是。

给出的正确答案是:B、E、F,书中的解释是:
“返回类型肯定声明为List,而不是ArrayList,所以A、D都是错误的......”

这是我不明白的...为什么返回类型必须仅为 List 而不是 ArrayList?就像参数可以是 ArrayList 那么为什么返回类型不能也是 arrayList 呢?

Thanks


因为ArrayList是List的子类,所以process返回的List不保证是ArrayList。例如,它可以是 LinkedList。

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

Java多态混乱 的相关文章

随机推荐

  • MySQL 使用 Grandtotal 进行行小计

    我需要创建一个 MariaDB SQL 它允许我对两列 借方和贷方列 求和以获得差额 并返回每种不同帐户类型的小计 表格如下 Account Debit Credit acc1 1 2 acc1 1 4 acc2 3 2 acc2 2 1
  • 组合列并删除 NaNs Pandas

    如果我有一个像这样的 pandas 数据框 a1 0 116667 NaN NaN a2 NaN 0 516667 NaN a3 NaN 0 006667 NaN a4 NaN NaN 0 426667 a5 NaN 0 506667 Na
  • 导航到页面会增加内存使用量 Windows Universal 8.1

    我正在创建一个 Windows Universal 8 1 应用程序 每次我导航到一个页面 然后导航回来 然后再次导航到该页面 该页面的新实例就会保存在内存中 显然 垃圾收集器会在一段时间后释放内存 但是如果不需要 我宁愿不使用内存 有没有
  • Shutil make_archive 生成​​嵌套的 .zip 文件 [重复]

    这个问题在这里已经有答案了 我一直在尝试使用make archive https docs python org 3 library shutil html shutil make archive from shutil图书馆 这是代码 带
  • 使用相同的值更新 mysql 表并仍然获得时间戳更新

    所以我有这个stamp timestamp DEFAULT NOW ON UPDATE NOW 行在我的表上 即使我正在执行的更新基本上是所有字段上的相同数据 我也需要它进行更新 在表的声明中是否有任何方法可以做到这一点 就像除此之外的其他
  • 如何向 woocommerce 编辑订单页面添加选项?

    如何在此处添加另一个选项 例如订单操作 订单总计 我知道如何创建选项页面 但不知道如何编辑 woocommerce 选项 有什么办法吗 在 woocommerce 中自定义订单和优惠券非常简单 因为它们只是另一种自定义帖子类型 您可以在其中
  • 是否可以使用 JMS 进行 IBM MQ 消息分段?

    是否可以使用 JMS 实现消息分段 就像使用本机 IBM API 一样此处显示 http www 01 ibm com support docview wss uid swg21405730 我读过的一种可能的解决方案是 JMS 的消息分组
  • 如何修复套索中的“storage.mode(y) <-“double”错误:更改因子的存储模式无效”?

    使用岭回归和套索回归时出现以下错误 storage mode y 我的数据集如下所示 gt as data frame blca only A tibble 315 x 435 Tags TCGA BL A5ZZ 01 TCGA XF AA
  • 如何注释图像分割的基本事实?

    我正在尝试训练一个执行图像分割的 CNN 模型 但如果我有几个 我很困惑如何创建基本事实 图像样本 图像分割可以将输入图像中的每个像素分类为 预定义的类别 例如汽车 建筑物 人或任何其他类别 有没有任何工具或一些好主意来创建地面 图像分割的
  • 如何从ActivatedRoute获取角度5的路线段?

    我正在使用最新的 Angular5 版本 我有以下编码路线 请注意 水果和蔬菜不是参数 fruits item veggies basket 请注意 fruits 是父路由 我在数组中有多个子路由 item 只是其中之一 蔬菜 也是一条父路
  • 如何使用 css 更改 Javafx 中滑块轨道的颜色?

    我有一个音乐播放器 我正在尝试更改滑块轨道颜色 而不仅仅是边框颜色 fx background color 改变边框背景颜色 fx color 更改滑块点 我试过 fx track fill 它不起作用 这就是我所拥有的 root fx b
  • 如何知道程序调用了库的哪些函数

    假设我有二进制库 so 和使用该库的二进制程序 即我不拥有其中任何一个的源代码 如何找出在运行时调用了哪些库函数 我想知道他们的名字 但不需要实时信息 这两个二进制文件都不包含调试符号 The objdump https sourcewar
  • Linux 上的监控/审计文件删除

    我的应用程序部门之一的 beam 文件之一正在被删除 我不确定删除的内容 方式 有没有办法监视或审核文件以查看删除该文件后会发生什么 我正在使用 RedHat 发行版 是的 您可以使用审核守护程序 你没有说哪个 Linux 发行版 基于Re
  • 如果文本不适合框架,如何向 UILabel 添加点

    我有一个带有多行 UILabels 的单元格 但是当文本的标签不适合框架时 不会显示任何点 我怎样才能解决这个问题 你试过这个吗 之前的 Swift 5 yourLabel adjustsFontSizeToFitWidth NO your
  • 从 C++ 托管 dll 引发的 C# 异常 - EEFileLoadException * __ptr64

    我从正常的 C 控制台程序中收到此错误 该程序使用作为 C CLI 项目的构建输出生成的 DLL 那里我有一个简单的DumbThing public ref class用静态方法 我想简单地调用该函数 或者至少实例化一个微小的 DumbTh
  • WebFlux - Reactor Http Epoll 线程

    我正在使用 Spring webflux 我向其余端点发送数百个并发请求 当我检查时 只有 4 个线程被共享来处理所有负载 这是正常的吗 有没有弹簧属性可以增加这个计数 reactor http epoll 1 reactor http e
  • 使用 YAML 元数据块声明用于 pandoc 转换的任意变量

    我最近才发现 Pandoc 所以我仍在习惯它的很多功能 它看起来是一个非常有用的工具 我很高兴能找到它的一些应用程序 我一直在查阅用户指南 虽然有关于我想知道的部分 https pandoc org MANUAL html metadata
  • 拉普拉斯金字塔后的重建图像与原始图像不同

    我正在将 RGB 图像转换为 YCbCr 然后想要计算相同的拉普拉斯金字塔 颜色转换后 我正在尝试使用 OpenCV 图像金字塔教程中给出的代码来找到图像的拉普拉斯金字塔 然后重建原始图像 但是 如果我将代码中的级别数增加到更高的数字 例如
  • RabbitMQ - 升级到新版本并收到很多“PRECONDITION_FAILED Unknown Delivery Tag 1”

    刚刚升级到新版本的 RabbitMQ 2 3 1 现在出现以下错误 PRECONDITION FAILED unknown delivery tag 1 随后通道关闭 这适用于较旧的 RabbitMQ 无需客户端更改 在应用程序行为方面 当
  • Java多态混乱

    下面的问题来自 Kathy Sierra 和 Bert Bates 所著的 Java SCJP5 书籍 给定一个声明为的方法 public static