27 使用Arrays.asList生成的集合无法使用add、addAll方法及解决方法。

这篇具有很好参考价值的文章主要介绍了27 使用Arrays.asList生成的集合无法使用add、addAll方法及解决方法。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

27.1 原因

        使用 Array.asList方法生成的ArrayList继承的是AbstractList抽象类 ,如下图所示。

27 使用Arrays.asList生成的集合无法使用add、addAll方法及解决方法。,java学习,java

27 使用Arrays.asList生成的集合无法使用add、addAll方法及解决方法。,java学习,java         AbstractList又继承了AbstractCollection抽象类,实现了List接口的方法,如下图所示。

27 使用Arrays.asList生成的集合无法使用add、addAll方法及解决方法。,java学习,java

        如下图所示。可以发现, AbstractionCollection实现了List接口的add和addAll方法。

         27 使用Arrays.asList生成的集合无法使用add、addAll方法及解决方法。,java学习,java

         实现的add方法如下:

        它直接抛出了一个异常,因此只要调用add方法就会抛出异常。

27 使用Arrays.asList生成的集合无法使用add、addAll方法及解决方法。,java学习,java

         实现的allAll方法如下:

         调用了add方法,但是一旦调用add方法就会抛出异常,因此调用allAll方法也会抛出异常。27 使用Arrays.asList生成的集合无法使用add、addAll方法及解决方法。,java学习,java

 27.2 如何使Arrays生成的ArrayList集合可以调用add或addAll方法

        对于ArrayList,它的有参构造方法中可以传入Collection对象,而List接口继承了Collection接口,Arrays生成的ArrayList又实现了List接口,因此可以将生成的ArrayList作为ArrayList有参构造方法的输入对它进行转换,生成新的ArrayList。27 使用Arrays.asList生成的集合无法使用add、addAll方法及解决方法。,java学习,java

         新生成的ArrayList中的add方法具有添加元素的作用,因此可以调用add和addAll方法。27 使用Arrays.asList生成的集合无法使用add、addAll方法及解决方法。,java学习,java

 文章来源地址https://www.toymoban.com/news/detail-625775.html

到了这里,关于27 使用Arrays.asList生成的集合无法使用add、addAll方法及解决方法。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Arrays.asList

    先总结要点,接下来详细讲解 返回由指定数组支持的长度不可变的列表,可以看做是传入数组的 list 视图,对 list 的修改其实是在修改该数组,所以 list 中元素可以修改,但是不可以增加或删除元素 返回的列表是可序列化的,并实现 RandomAccess 可以随机访问。 此方法与 col

    2024年02月16日
    浏览(33)
  • Arrays.asList 和 null 类型

    Arrays.asList() 返回的List 是它的内部类,不能使用 retainAll() 取交集,导致元素的删除,会报错。 null 不能使用 instanceof ,返回的都是false。

    2024年02月09日
    浏览(32)
  • ChatGPT还是有点东西的-public static <T> List<T> Arrays.asList(T... a) {...}

    业务开发需要判断业务状态是否在30、40、50、60的集合内,所以写了以下代码 自我Review代码时,验证了下这行代码,发现状态为30时,仍然返回false。 在自我怀疑中调整代码,并验证,代码如下: 没想很明白,于是问了下ChatGPT。 Arrays.asList() 方法返回的结果类型取决于传入的

    2024年02月12日
    浏览(31)
  • Python 集合 add()函数使用详解,集合添加元素

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 小白零基础《Python入门到精通》 add() 函数可以给集合 「添加」 元素。 语法 参数 element :(必选)需要添加的元素 返回值 None,没有返回值,

    2024年02月17日
    浏览(31)
  • 聊聊 Java 集合框架中的Arrays

    Arrays 和 Collections 是分别操作数组和集合的两个工具类。今天就来对 Arrays 中的内容作个总结。 Arrays 类位于 java.util 包中。 Arrays 继承 Object Arrays 类中的静态方法可以对数组进行排序、查询、搜索等等操作。 1. Arrays.asList() 方法描述 该方法返回一个 ArrayList , 其返回的 ArrayList

    2024年01月21日
    浏览(37)
  • 【第42天】Arrays.sort 与 Collections.sort 应用 | 整形数组与集合的排序

    本文已收录于专栏 🌸《Java入门一百练》🌸

    2024年02月02日
    浏览(32)
  • 无法启动 Microsoft Outlook。无法打开 Outlook 窗口。无法打开此文件夹集合:解决方法

    打开「运行」窗口,输入以下命令初始化 Outlook 客户端 第一种方法: 注意:该操作将清除原有的 Outlook 配置文件信息 1、找到 outlook 安装目录,本例是安装的 Office365  2、初始化 第二种方法: 1、打开控制面板,找到 Mail 2、打开 显示配置文件 3、添加一个 Profile 4、输入配

    2024年02月11日
    浏览(39)
  • ## 解析Arrays.sort()方法 排序问题

    首先,Arrays.sort() 需要传入两个参数。 第一个参数是需要排序的数组,但是该数组不能是基本数据类型,必须是引用数据类型。 第二个参数是一个接口,所以我们在调用方式的时候,需要传递这个接口的实现类对象,这个实现类可以用匿名内部类的方式实现。 底层原理分析

    2024年02月03日
    浏览(37)
  • Laravel 集合的使用 & 集合的常用方法 & 模型的数据集合 ⑩

    @作者 : SYFStrive   @博客首页 : HomePage 📜: THINK PHP 📌: 个人社区(欢迎大佬们加入) 👉: 社区链接🔗 📌: 觉得文章不错可以点点关注 👉: 专栏连接🔗 👉 VUEJS (🔥) 👉 MYSQL (🔥) 👉 微信小程序 (🔥) 👉 PHPMYSQL (🔥) 👉 UNIAPP开发 (🔥) 提示:以下是本篇

    2024年02月10日
    浏览(30)
  • JQuery动态生成的按钮无法触发问题与解决方法

    利用JQuery动态添加的按钮无法通过 $(selector).click 方法触发点击事件 append中的节点是在整个文档加载完之后开始添加的, 因此页面不会为append的元素初始化添加点击事件 使用$(document).on()方法添加点击事件

    2024年01月20日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包