当前位置:网站首页>Why do strings use the final keyword
Why do strings use the final keyword
2022-07-29 14:23:00 【xiaokaikaa】
final 的定义
1.final关键字可以用来修饰类,方法,变量.
2.修饰类时,该类不可以被继承;
3.修饰方法时,This method cannot be overridden by subclasses;
4.修饰变量时,该变量为常量,An initialization assignment operation is required,且只能被赋值一次,Once assigned, it cannot be changed.
Although the reference variable is final修饰之后,虽然不能再指向其他对象,但是它指向的对象的内容是可变的.stackReference addresses on the stack are immutable,但heapThe data in the heap can be changed.
String为什么不可变
在String源码里,除了String类被final修饰外,value数组也被final修饰,StringA class is essentially one不可变的char数组.
因为被final修饰后,Reference addresses are immutable though,But the data itself is mutable,同理,value数组里的Data may also be modified.但由于value数组本身是private私有访问,且StringThe class itself is also usedfinal修饰,不能被继承,从而使String不能被改变.
StringClasses are designed asfinal后,因为不可变,在多线程环境下,线程安全.
安全性高,比如,数据库的用户名、密码都是以字符串的形式传入来获得数据库的连接,或者在socket编程中,主机名和端口都是以字符串的形式传入.因为String对象是不可变的,所以它的值是不可改变的,保证了安全性.
总结:
1支持字符串常量池
2线程安全
3保证hash code的唯一性
4安全性
边栏推荐
- Gee engine modification UI interface graphic tutorial
- 用TypeScript类型系统编程实现斐波那契数列
- inner join 与 left join 之间的区别
- 线上支付,出款和收款
- 带你了解一下PHP搭建的电商商城系统
- Vscode搭建ESP32-C3开发环境
- The Location object of BOM series
- Still developing SMS verification code login?Try it (one-click login with your phone number)
- 教育部等五部门联合推荐优质课外资源,腾讯产品青少年模式首发
- 开关电源-LLC基本原理
猜你喜欢

开关电源-LLC基本原理

【论文阅读】异常检测的视频通过Self-Supervised和多任务学习

威纶通触摸屏制作自定义欢迎界面的几种方法介绍

The key to cracking AI full-process development problems

human pose estimation-DEKR2021CVPR

即时通讯移动端开发之网络连接优化

AI全流程开发难题破解之钥

【Postman】下载与安装(新手图文教程)

R Error in :missing values are not allowed in subscripted assignments of data frames

工作效率-十五分钟让你快速学习Markdown语法到精通排版实践备忘
随机推荐
leetcode linked list topic
PyQt5快速开发与实战 7.1 信号与槽介绍
第二轮Okaleido Tiger热卖的背后,是背后生态机构战略支持
grid的使用
全开放式耳机怎么样?不塞耳朵的蓝牙耳机推荐
FPGA刷题——跨时钟域传输(FIFO+打拍+握手)
暴力递归到动态规划 02 (绝顶聪明的人的纸牌游戏)
AI全流程开发难题破解之钥
【LeetCode】Day105-递增的三元子序列
马尔可夫跳变线性系统最优控制的研究现状与进展
The 10,000-character long article reveals the secrets of Huawei's data governance system!
这么多年了,还搞不懂正则语法?
开放式耳机推荐哪款最好最实用、最好的开放式耳机推荐
在金融服务行业数字化转型中,低代码值得被关注
1191. 家谱树
如何使用MISRA改进嵌入式编程
1124. 骑马修栅栏
R错误:缺少值不允许写在下面的作业的数据帧
Bika LIMS 开源LIMS集—— SENAITE的使用(用户、角色、部门)
1192. 奖金