怎么确保一个集合不能被修改

集合(map,set,list)都是引用类型,所以我们如果用final修饰的话,集合里面的内容还是可以修改的。

可以使用 Collections. unmodifiableCollection(Collection c) 方法来创建一个只读集合,这样改变集合的任何操作都会抛出 Java. lang. UnsupportedOperationException 异常。

 

示例代码:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/271970.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js 时间转东八区_js:固定与东八区服务器时间保持一致并且可选时间格式

datetimeparse (timestamp, format, prefix){//转换时区let currentZoneTime new Date(timestamp);let currentTimestampcurrentZoneTime.getTime();let offsetZone currentZoneTime.getTimezoneOffset() /60; //如果offsetZone>0是西区,西区晚let offsetnul…

js日期函数

对日期的处理,date类型和字符串类型的相互转换,日期合法性验证Date.prototype.isLeapYear 判断闰年 Date.prototype.toFormat 日期转成format格式字符串 Date.prototype.DateAdd 日期计算 Date.prototype.DateDiff 比较日期差 Date.prototype.toString 日…

以下十种性格的人不适合做程序员,你​赞同吗? ​

目录 1. 宁愿参加培训,也不愿意自学 2. 喜欢正常的上下班时间 3. 喜欢正常加薪而不是跳槽 4. 无法和同事和睦共处 5. 容易垂头丧气 6. 思想保守,不考虑他人建议 7. 不注重细节 8. 没有工作荣誉感 9. 不能做到三思而后行 10. 不喜欢极客类型的人 以下十种…

Iterator与ListIterator有什么区别

Iterator与ListIterator区别如下: 1、Iterator是ListIterator的父接口。 2、Iterator是单列集合(Collection)公共取出容器中元素的方式。 对于List,Set都通用。 而ListIterator是List集合的特有取出元素方式。 3、Iterator中具备的功能只有hashNext(),ne…

mysql使用jpa仓储查询报错_Jpa自动查询报错

我解决了这个问题。后来我发现报错信息中还有一行,不管我怎么尝试,都是会提示某一个变量有问题,我做了一下修改,解决了。我下面详细写一下这个问题。其实web开发我不熟悉,我之前不是做这个是,所以我下面只是…

程序日志--要养成好习惯

最近写了几个DZ的插件,但是反馈有bug,但是模仿不出来,额滴神啊!~~~ 所以做了个存储的日志,以方便检查错误。 /***需记录日志,调用此函数* param $text* param string $path*/public static function mark($…

IT行业17条经典语录

1. 手表定律:一个人有一只表时,可以知道现在是几点钟,当他拥有两只表时,却无法确定。所以,对于任何一件事情,不能同时设置两个不同的目标;对于一个人,也不能同时选择两种不同的价值…

Java哪些集合类是线程安全的?

Hashtable:就比Hashmap多了个线程安全,Hashtable加了synchronized关键字 Vector:就比Arraylist多了个同步化机制(线程安全)。 ConcurrentHashMap:是一种高效但是线程安全的集合。 Stack:栈,也…

mysql_install_db卸载_MySQL数据库的卸载与安装

MySQL数据库的卸载与安装MySQL的完全卸载因为不知道什么原因,电脑里同时存在两个版本的mysql,所以决定卸载重新安装,但是大家都说MySQL很难清除干净,所以特地查找完全卸载MySQL的方法。首先,快捷键winr输入regedit进入…

【VS开发】这就是COM组件

[实例]这就是COM组件 时间 2012-02-21 10:49:15 CSDN博客原文 http://blog.csdn.net/btwsmile/article/details/7278492主题 COM技术[实例]这就是COM组件 Author: ume Date:2012-02-21 自从微软推出.NET以来,COM技术就渐渐淡出人们的视野,然而这并不意味…

前端:QuickJS到底能干什么

QuickJS 是一个轻量且可嵌入的 JavaScript 引擎,它支持 ES2019 规范,包括 ES module、异步生成器以及 proxies。除此之外,还支持可选的数学扩展,例如大整数(BigInt)、大浮点数(BigFloat)和运算符重载。主要特点:轻量而…

随机存取是什么意思_手机小白必看!12GB+256GB,同样是GB,它们到底有什么不同?...

导语本文适合对电子产品有深度兴趣的小白,详细介绍了信息世界的数据计量单位,以及RAM与ROM的,文末给出了购机建议,建议不了解手机或者说半懂的同学观看。看完如果您觉得还可以的话,点赞关注,给小编一个鼓励…

ES6 解构赋值的用法笔记

1、概念:解构赋值可以理解为对赋值运算符的一种扩展。它主要针对数组或者对象进行模式匹配,然后对模式中的变量进行赋值。2、特性:采用ES6解构赋值的方式可以代码的可读性更高、代码书写更加简洁、清晰。3、解构模型:分为解构源、…

一.高阶函数

一.函数式编程中函数的特点 可以创建匿名函数 def声明带名函数,val声明匿名函数scala scala> def triple(x:Int):Int {3*x} scala> triple(2) res1: Int 6scala scala> val triple (x:Int) > 3*x scala> triple(2) res0: Int 6函数和数字一样&am…

线程和进程的区别?

进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元。 一个程序至少有一个进程,一个进程至少有一个线程。

收集12个经典的程序员段子

1bug 跟蚊子的相似之处:1、不知道藏在哪里。2、不知道有多少。3、总是在你即将睡觉休息的时候出现。2A:最近在看《一拳超人》,觉得咱们程序猿跟埼玉老师有点像啊!B:哪里像了?A:越秃越强&#xf…

2020mysql安装教程_2020MySQL安装图文教程

MySQL安装图文教程(Windows10)1、MySQL下载可以去MySQL官网下载,或者在我提供的百度云链接下载。官网下载网速较慢,我从官网下载了将近四个小时,然后把下载好的放在了百度网盘,需要的而已自取。MySQL官网地址:MySQL官网…

说一下 runnable 和 callable 有什么区别?

主要区别 Runnable 接口 run 方法无返回值;Callable 接口 call 方法有返回值,支持泛型Runnable 接口 run 方法只能抛出运行时异常,且无法捕获处理;Callable 接口 call 方法允许抛出异常,可以获取异常信息 Runnable Ca…

几种常见的光纤接头(ST,SC,LC,FC)以及PC、APC和UPC的区别

一、几种常见的光纤接头(ST,SC,LC,FC)FC型光纤连接器:外部加强方式是采用金属套,紧固方式为螺丝扣。 一般在ODF侧采用(配线架上用的最多)SC型光纤连接器:连接GBIC光模块或普通光纤收发器的连接器,它的外壳呈矩形,紧固方…

nginx配置ssl

1.使用pfx证书配置ssl (http://www.heartlifes.com/archives/12/) 。上传证书 。生成证书crt及key文件 openssl pkcs12 -in /usr/local/nginx/ssl/xxx.pfx -clcerts -nokeys -out /usr/local/nginx/ssl/xxx.crt openssl pkcs12 -in /usr/local/nginx/ssl…