社区
Java SE
帖子详情
java String不可变问题
weixin_44479985
2019-01-17 12:55:35
String为什么被设计成不可变?
关于这个问题,我在网上查了资料,但网上说的不详细。比如说String被用作数据库或接口的参数,可变会带来安全问题。我不理解这句话的含义。最好举例说明
...全文
361
5
打赏
收藏
java String不可变问题
String为什么被设计成不可变? 关于这个问题,我在网上查了资料,但网上说的不详细。比如说String被用作数据库或接口的参数,可变会带来安全问题。我不理解这句话的含义。最好举例说明
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
podd
2019-01-28
打赏
举报
回复
String被用作数据库或接口的参数,可变会带来安全问题 这应该是和sql注入有关, 因为string类型参数可能会被人传入一些拼接的sql语句
reupe
2019-01-28
打赏
举报
回复
每个语言设计都包含大量设计者的主观思考
yuji_tt
2019-01-27
打赏
举报
回复
用Stringbuffer.append
huaoppo
2019-01-26
打赏
举报
回复
为什么你一定要它变了。
要变就用Stringbuffer
小小菜鸟肥
2019-01-17
打赏
举报
回复
首先调用change函数,刚开始str1和chs1指向str和chs对应的堆空间,执行后,因为String不可变,所有new一个新空间存放hello,str1指向改变。而char[]是可变的,则不会new新空间,导致chs的值随之改变。 一般来讲配置参数都必须不可变的,但是万一程序中调用啥函数的时候,进行了操作,若是不可变类型,不会影响其本身,否则配置文件会出错
java
六大必须理解的
问题
文档
java
六大必须理解的
问题
、内容比较详细、写的比较具体
【面试】
Java
之
String
系列 --
String
为什么
不可
变
?
在
Java
编程中,
String
类是一个使用频率极高的类。而
String
对象具有
不可
变
的特性,这一特性在
Java
设计中有着重要的意义。本文将深入探讨
String
不可
变
的含义、原因以及带来的好处。
Java
基础——
String
不可
变
的含义、原因、好处
字符串的
不可
变
性带来了多重好处。首先,它使得字符串在多线程环境下更安全,无需额外的同步机制。其次,
不可
变
性允许字符串常量在内存中共享实例,从而节省了内存空间,并提高了程序性能。此外,
不可
变
性还简化了字符串操作,支持编译期优化,并提供了原子性操作的保证。综上所述,字符串的
不可
变
性为
Java
提供了安全、高效、简洁的字符串处理机制。
Java
中
String
类型为什么
不可
变
?
1.保存字符串的数组被final修饰且为私有的,并且
String
类没有提供/暴露修改这个字符串的方法2.
String
类被final修饰导致其不能被继承,进而避免了子类破坏
String
不可
变
。
java
不可
变
类有哪些_
Java
中的
不可
变
类
Java
中的
不可
变
类
不可
变
类(Immutable Objects):当类的实例一经创建,其内容便
不可
改
变
,即无法修改其成员
变
量。可
变
类(Mutable Objects):类的实例创建后,可以修改其内容。
Java
中八个基本类型的包装类和
String
类都属于
不可
变
类,而其他的大多数类都属于可
变
类。与引用
不可
变
的区别需要特别注意的是,
不可
变
类的
不可
变
是指该类的实例
不可
变
而非指向该实例的引用的
不可
变
...
Java SE
62,628
社区成员
307,259
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章