String 不可变

来源:5-1 不可变对象-1

qq_灬Mamba磊_0

2018-11-27

String本来就是不可变的 再用final修饰有什么区别呢

写回答

2回答

Jimin

2021-11-22

final可以强制不允许修改,String这个类特殊一些,如果不加final,他还是允许写出可修改的代码,只是修改的并不是之前存储位置的值

0
0

Jimin

2018-11-28

你好,这个还是有差别的。比如:

定义了 String a = "a";

你依旧可以修改 : a = "b";

但是如果定义了 final String a = "a";

你再尝试修改 a = "b"; 

就是不被允许的。

0
1
cqnuhy
在老师那个答案上补充下,因为在执行 a="b" 时其实时新new了一个String,String 本身的确是final修饰的
2021-11-09
共1条回复

Java高并发编程,构建并发知识体系,提升面试成功率

构建完整并发与高并发知识体系,倍增高薪面试成功率!

3923 学习 · 832 问题

查看课程