社区
Java EE
帖子详情
Java中String类 用final修饰的原因
一杯就醉1929
2016-04-05 10:06:03
Java中String类 用final修饰的原因?
...全文
484
4
打赏
收藏
Java中String类 用final修饰的原因
Java中String类 用final修饰的原因?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
执笔记忆的空白
2016-04-06
打赏
举报
回复
堆空间里面有个字符串池,里面都是字符串常量,也就是说字符串的+ , 其实是两个引用的+ ,与字符串池本身常量无关
howsun_zh
2016-04-06
打赏
举报
回复
Java没有字符串这种基本类型,它是使用char[]数组包装而成,对象生成那一刻,内部数据就确定了;另外,它利用编译器重载了“+”、“==”操作符,在虚拟机里与内部常量池做了映射,可见内部非常复杂。因此,为了保证这种数据结构完整性,不被修改和其它操作(例如子类、反射),因此使用final关键字加于限制。
飏飏一蝶
2016-04-06
打赏
举报
回复
如何创建一个不可变类: 1、.所有成员都是private .2、不提供对成员的改变方法,例如:setXXXX 3、确保所有的方法不会被重载。手段有两种:使用final Class(强不可变类),或者将所有类方法加上final(弱不可变类)。 4、如果某一个类成员不是原始变量(primitive)或者不可变类,必须通过在成员初始化(in)或者get方法(out)时通过深度clone方法,来确保类的不可变。 这就是String需要final修饰的原因。
sun295508987
2016-04-06
打赏
举报
回复
不希望被修改呗
String
类
final
修饰
的意义
final
修饰
符
String
类
被
final
修饰
,表示该
类
不能被继承。不可变性
String
类
是不可变的,一旦创建,内容不能被改变。安全性:不可变性和不可继承性确保了
String
类
的安全性和稳定性。性能优化:不可变性和不可继承性使得...
Java
中
的
String
类
为什么用
final
修饰
?
相信很多小伙伴在面试的时候都被问到过“
Java
中
的
String
类
为什么用
final
修饰
?”这个问题,今天带大家一探究竟,希望小伙伴们在之后面试
中
遇到这个问题时,能够很顺利的回答出来,顺利斩获高薪offer。
String
类
用...
科普文:为什么
String
要用
final
修饰
?
被
final
修饰
后,在jvm
中
独一份,可以更换的被共享。1.
final
修饰
类
,被
final
修饰
的
类
不能被继承,即它不能拥有自己的子
类
,否在会在编译期间报错;2.
final
修饰
方法,被
final
修饰
的方法不能被重写;3.
final
修饰
变量,...
String
为什么被
final
修饰
final
修饰
的
String
,代表这个
类
不能被继承,而
String
是一个char
类
型的数组,证明它是不可更改的,但这也仅仅是引用地址不可改,再加上被private
修饰
,证明数组本身也不会改变。只有当字符串本身也不会变的时候才可以...
Java
中
的
final
变量
final
修饰
变量
final
修饰
方法
final
修饰
类
final
和
String
的关系
在开发的过程
中
,经常会使用
String
类
来处理字符串相关的数据,但今天去看
String
源代码时,发现这个
类
是用
final
修饰
的,于是,决定去探究inal关键字。
final
关键字可以修改
类
,方法和属性,但这个关键字的作用是什么?...
Java EE
67,549
社区成员
225,860
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章