美文网首页
java UnmodifiableCollection

java UnmodifiableCollection

作者: lesliefang | 来源:发表于2021-06-12 23:20 被阅读0次
Screen Shot 2021-06-12 at 11.05.49 PM.png

UnmodifiableCollection 继承 Collection,只不过 add remove 等方法都抛出异常。

为什么要抛出异常而不是去掉 add remove 等方法??? 当然是可以定义一个只读的 Collection 接口的,去掉 add remove 等方法, 但那样你就只能用只读的类型去引用对象了,而不能用 List 等 Collection 类型去引用。 现在抛出异常,你仍然用 List 等类型去引用。
我能用 UnmodifiableCollection 去引用 List 对象吗?? 不可以,一是 UnmodifiableCollection 不是 public 的,外部访问不到。 二是 UnmodifiableCollection 是 Collection 的子类, 你不能用子类去引用基类。

List<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");

List<String> unmodifiableList = Collections.unmodifiableList(list);
unmodifiableList.add("ccc"); // 会抛出异常       

相关文章

  • java UnmodifiableCollection

    UnmodifiableCollection 继承 Collection,只不过 add remove 等方法都抛...

  • java.util.Collections

    Collections 内部类 UnmodifiableCollection 返回不可更改的集合视图。对该方法返回...

  • Java(JavaEE)学习线路图1

    Java教程 Java 教程Java 简介Java 开发环境配置Java 基础语法Java 对象和类Java 基本...

  • Java学习线路图

    Java教程 Java 教程Java 简介Java 开发环境配置Java 基础语法Java 对象和类Java 基本...

  • 大数据学习线路图

    Java教程 Java 教程Java 简介Java 开发环境配置Java 基础语法Java 对象和类Java 基本...

  • 大数据学习教程

    Java教程 Java 教程Java 简介Java 开发环境配置Java 基础语法Java 对象和类Java 基本...

  • 一篇文章,全面解读Android面试知识点

    Java Java基础 Java集合框架 Java集合——ArrayList Java集合——LinkedList...

  • java学习路线

    javaSE java基础语法 java文件操作 java网络操作 java多线程 java数据库操作 java ...

  • java编程分类

    一、java简介java开发环境配置java基础语法java对象与类java基本数据类型java变量类型java修...

  • Java-01初识Java

    Java的3大版本 Java有三大版本,Java SE, Java ME, Java EE Java SE(Jav...

网友评论

      本文标题:java UnmodifiableCollection

      本文链接:https://www.haomeiwen.com/subject/rthweltx.html