Arrays.asList 的返回类型是什么?

2023-11-26

我读了这篇文章:java 中 Arrays.asList(array) 与 new ArrayList(Arrays.asList(ia)) 之间的区别

我对此有一个疑问。 我看看这一行:

List<Integer> list2 = Arrays.asList(ia)

仍然有一句话说:

当然,包装器上不允许某些列表操作,例如 从列表中添加或删除元素,您只能读取或 覆盖元素。

如果list2有List接口的引用,我希望它能实现Java中List接口中包含的所有方法。https://docs.oracle.com/javase/7/docs/api/java/util/List.html.

添加(int索引,E元素)

and

删除(整数索引)

在List接口中显示,那么list2中怎么可能没有实现呢?

我本以为list2 is a List;因此我可以打电话all属于List接口的方法?!那么为什么调用时会抛出异常add() or remove()?


这里有一个微妙的细节可能很容易被忽视:

The Arrays.asList()javadoc 简要提到:

返回由指定数组支持的固定大小列表。

换句话说:是的,您收到的内容是“我是一个列表”;但事实上,底层实现为您提供了我们称之为结构上不可变列表对象。因此,所有会改变的方法结构该特定列表的...被“禁用”(通过在调用时抛出异常)。您仍然可以致电set()尽管change该列表中的元素。

长话短说:purpose该方法的not为您提供一个完全支持列表的对象。该方法的目的是让您快速创建一个fixed对象的“列表”。

还有更多个人观点:我同意,这实际上并不“一致”。我本以为要么完全不可变的将返回列表;而不是一些“半生不熟”“结构上一成不变”的东西。

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

Arrays.asList 的返回类型是什么? 的相关文章

  • 在文本文件中写入多行(java)

    下面的代码是运行命令cmd并使用命令行的输出生成一个文本文件 下面的代码在 Eclipse 的输出窗口中显示了正确的信息 但在文本文件中只打印了最后一行 谁能帮我这个 import java io public class TextFile
  • 如何在android上的python kivy中关闭应用程序后使服务继续工作

    我希望我的服务在关闭应用程序后继续工作 但我做不到 我听说我应该使用startForeground 但如何在Python中做到这一点呢 应用程序代码 from kivy app import App from kivy uix floatl
  • 如何创建一个显示 Spinners 的 x 和 y 值的表格?

    我想创建一个位于图表右侧的表格 其中显示 2 列 x 和 y 值已输入到xSpin and ySpin旋转器 我已经画了一张我想要桌子放置的位置的图 我尝试过在网格窗格布局中使用文本框来创建表格并将值直接输入到文本框网格中 但是我无法将它们
  • Android在排序列表时忽略大小写

    我有一个名为路径的列表 我目前正在使用以下代码对字符串进行排序 java util Collections sort path 这工作正常 它对我的 列表进行排序 但是它以不同的方式处理第一个字母的情况 即它用大写字母对列表进行排序 然后用
  • 如何在不超过最大值的情况下增加变量?

    我正在为学校开发一个简单的视频游戏程序 我创建了一个方法 如果调用该方法 玩家将获得 15 点生命值 我必须将生命值保持在最大值 100 并且由于我目前的编程能力有限 我正在做这样的事情 public void getHealed if h
  • Hibernate.createBlob() 方法从 Hibernate 4.0.1 开始已弃用,并移至 Hibernate.getLobCreator(Session session).createBlob()

    Method Hibernate createBlob 已弃用自休眠4 0 1并搬到Hibernate getLobCreator Session session createBlob 任何解决方案我应该在方法内传递什么getLobCrea
  • Hazelcast 分布式锁与 iMap

    我们目前使用 Hazelcast 3 1 5 我有一个简单的分布式锁定机制 应该可以跨多个 JVM 节点提供线程安全性 代码非常简单 private static HazelcastInstance hInst getHazelcastIn
  • hibernate锁等待超时超时;

    我正在使用 Hibernate 尝试模拟对数据库中同一行的 2 个并发更新 编辑 我将 em1 getTransaction commit 移至 em1 flush 之后我没有收到任何 StaleObjectException 两个事务已成
  • Calendar.getInstance(TimeZone.getTimeZone("UTC")) 不返回 UTC 时间

    我对得到的结果真的很困惑Calendar getInstance TimeZone getTimeZone UTC 方法调用 它返回 IST 时间 这是我使用的代码 Calendar cal Two Calendar getInstance
  • 使用 SQLITE 按最近的纬度和经度坐标排序

    我必须获得一个 SQLite SQL 语句 以便在给定初始位置的情况下按最近的纬度和经度坐标进行排序 这是我在 sqlite 数据库中的表的例句 SELECT id name lat lng FROM items EXAMPLE RESUL
  • Java 中的“Lambdifying”scala 函数

    使用Java和Apache Spark 已用Scala重写 面对旧的API方法 org apache spark rdd JdbcRDD构造函数 其参数为 AbstractFunction1 abstract class AbstractF
  • 普罗米修斯指标 - 未找到

    我有 Spring Boot 应用程序 并且正在使用 vertx 我想监控服务和 jvm 为此我选择了 Prometheus 这是我的监控配置类 Configuration public class MonitoringConfig Bea
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • Javafx过滤表视图

    我正在尝试使用文本字段来过滤表视图 我想要一个文本字段 txtSearch 来搜索 nhs 号码 名字 姓氏 和 分类类别 我尝试过在线实施各种解决方案 但没有运气 我对这一切仍然很陌生 所以如果问得不好 我深表歉意 任何帮助将不胜感激 我
  • 使用.Net/C# 计算集合的频率分布

    是否有一种快速 简单的方法来使用 Linq 或其他方式计算 Net 集合的频率分布 例如 任意长的 List 包含许多重复项 遍历列表并计算 跟踪重复次数的巧妙方法是什么 查找列表中重复项的最简单方法是将其分组 如下所示 var dups
  • 如何知道抛出了哪个异常

    我正在对我们的代码库进行审查 有很多这样的陈述 try doSomething catch Exception e 但我想要一种方法来知道 doSomething 抛出了哪个异常 在 doSomething 的实现中没有 throw 语句
  • 测试弱引用

    在 Java 中测试弱引用的正确方法是什么 我最初的想法是执行以下操作 public class WeakReferenceTest public class Target private String value public Targe
  • HQL Hibernate 内连接

    我怎样才能在 Hibernate 中编写这个 SQL 查询 我想使用 Hibernate 来创建查询 而不是创建数据库 SELECT FROM Employee e INNER JOIN Team t ON e Id team t Id t
  • Java中的Object类是什么?

    什么是或什么类型private Object obj Object http download oracle com javase 6 docs api java lang Object html是Java继承层次结构中每个类的最终祖先 从
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的

随机推荐

  • 数学函数在现代处理器上需要多少周期

    我们知道现代处理器执行诸如cosine and sin直接在处理器上 因为它们有操作码 我的问题是这些指令通常需要多少周期 它们需要恒定的时间还是取决于输入参数 该时间因处理器型号而异 时间范围通常从数十个 CPU 周期到一百个或更多 许多
  • 查找 UIView 中某个类型的所有控件

    我正在寻找一种自动本地化按钮 文本字段等上的文本的方法 对于此方法 我需要找到 UIView 上的所有 例如 UIButton 我尝试了以下两种方法 但它们都没有像我希望的那样工作 for UIView subView in self vi
  • 如何更改 WPF DataGridColumn 上的第一个排序方向

    现在 默认 当您单击用户可排序的标题时DataGridColumn它在第一次单击时按升序排序 在第二次单击时按降序排序 如何使其在第一次单击时降序排序 在第二次单击时升序排序 我想出了一种方法 不确定这是否是最好的方法 但基本上 当排序事件
  • 将文本中的 YouTube URL 替换为其 HTML 嵌入代码

    如果在字符串中找到此函数 则嵌入 YouTube 视频 我的问题是 仅捕获嵌入视频 iframe 如果有更多视频 则仅捕获第一个视频 并忽略字符串的其余部分的最简单方法是什么 function youtube string autoplay
  • 可以跨 APK 共享资源吗?

    是否可以跨 APK 共享资源 例如 应用程序 A 在 APK A 中 可以从应用程序 B 在 APK B 中 加载图标或布局视图吗 您可以利用获取应用程序资源 这样 只要您至少知道包名称以及要加载的资源的 id 或名称 您就可以从其他应用程
  • Rails will_paginate 自定义路线

    如何将 will paginate 与自定义路由一起使用 我的路线中有以下内容 map connect human readable name controller gt tags action gt show 但据我所知 will pag
  • Eclipse 中的 JavaCompiler 为空

    我的 Java 编译器出现一些错误 我在 Eclipse 之外没有收到错误 但它似乎只发生在 Eclipse Indigo 中 这不是必需的 但如果您有答案 我将非常感激 因为它将帮助我更轻松地调试和测试资源 谢谢您阅读此篇 E ToolP
  • Asp.net core Identity“INSERT语句与FOREIGN KEY约束冲突”

    我使用 ASP NET CORE Identity 创建 ASP NET CORE 应用程序 我创建种子类来保存首次启动应用程序的新用户和角色 在这个种子类中 当我将角色添加到用户时 我收到以下错误 INSERT 语句与 FOREIGN K
  • 如何在 JBoss 中使用 Java“热代码替换”?

    我正在运行 JBoss 4 0 3 SP1 CP04 并使用 Eclipse 3 4 1 的调试器连接到它 两者都使用 JDK 1 6 0 11 当我对方法进行微小更改 例如 将逻辑中的 1 更改为 2 并保存它时 我立即收到标题为 热代码
  • JavaScript 中的 HTML 图像到 pdf 转换器

    HTML 代码 img class imagepdf src www images com someimage alt Smiley face height 42 width 42 我想将此图像转换为 pdf 格式 我在用jspdf 为此
  • 实体的键不符合键值编码

    if win Game was won set completed in puzzle and time Calculate seconds taken int timeTaken int NSDate timeIntervalSinceR
  • Bootstrap 按钮在移动设备上“卡住”

    Whenever I click a button with my mobile device android on a twitter boostrap button but button gets odd styling like th
  • 设置 float:left 时将 div 扩展到最大宽度

    我有类似的东西 div style width 100px menu div div content div 两个浮标都是必需的 我希望内容 div 填满整个屏幕 减去菜单的 100 像素 如果我不使用 float 则 div 会完全按其应
  • 用于不平衡多类多标签分类的神经网络

    如何处理训练神经网络时多标签分类结果不平衡的问题 我遇到的解决方案之一是惩罚罕见标记类的错误 这是我设计网络的方式 类数 100 输入层 第一隐藏层和第二层 100 通过 dropout 和 ReLU 全连接 第二个隐藏层的输出是 py x
  • 动态链接器是 Linux 系统上内核或 GCC 库的一部分吗?

    动态链接器 又名程序解释器 链接加载器 是内核或 GCC 库的一部分吗 UPDATE 28 08 16 我发现默认路径为动态链接器每个二进制文件 即链接到共享库 都使用 lib64 ld linux x86 64 so 2是共享库的链接 l
  • 验证信用卡详细信息

    如何验证信用卡 我需要做卢恩检查 黑莓有没有API可以做到这一点 您可以使用以下方法来验证信用卡号 Perform Luhn check public static boolean isCreditCardValid String card
  • Javascript 中变量声明语法(包括全局变量)之间的区别?

    声明变量有什么区别 var a 0 1 这边走 a 0 2 or window a 0 3 在全球范围内 是的 有一些差异 但实际上它们通常并不大 除了你的 2 a 0 A 我强烈建议不要这样做 B 在严格模式下是一个错误 还有第四种方法
  • 如何在端口 80 上运行 Node.js?

    我的目标是在端口 80 上运行 Node js 这是因为我发现某些网络阻止了 Node js 这些网络不允许来自任何其他端口的流量 看来 最好的方法是通过 Node js 代理 Apache 我尝试过使用节点 http 代理做到这一点 但我
  • Java RSA 加密 - 解密 .NET

    我正在使用 RSA 在 JAVA 上进行加密 并尝试使用 NET 进行解密 我提供了我的 JAVA 代码和 NET 代码 希望有人对此类事情有一些经验 JAVA代码 byte modulusBytes Base64 decode xTSiS
  • Arrays.asList 的返回类型是什么?

    我读了这篇文章 java 中 Arrays asList array 与 new ArrayList Arrays asList ia 之间的区别 我对此有一个疑问 我看看这一行 List