社区
Java SE
帖子详情
java String不可变问题
weixin_44479985
2019-01-17 12:55:35
String为什么被设计成不可变?
关于这个问题,我在网上查了资料,但网上说的不详细。比如说String被用作数据库或接口的参数,可变会带来安全问题。我不理解这句话的含义。最好举例说明
...全文
346
5
打赏
收藏
java String不可变问题
String为什么被设计成不可变? 关于这个问题,我在网上查了资料,但网上说的不详细。比如说String被用作数据库或接口的参数,可变会带来安全问题。我不理解这句话的含义。最好举例说明
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
六大必须理解的
问题
文档
- **
不可
变
性的意义**:`
String
`类是
不可
变
的,这意味着一旦创建了一个`
String
`对象,其内容就不能改
变
。 - **
不可
变
性的好处**: - 提高效率,因为多个
变
量可以共享同一个`
String
`对象。 - 增加安全性,特别是当...
对
Java
String
不可
变
的理解
java
的
String
类为什么要设置成
不可
变
类型? 什么是
不可
变
对象。
不可
变
对象有什么好处? 1、
不可
变
对象,顾名思义就是创建后的对象
不可
以改
变
,典型的例子有
java
中的
String
类型。注意,是对象
不可
变
,并非引用
不可
...
Java
的
string
类为什么是
不可
变
的
java
String
不可
变
Java
中的
String
类为什么
不可
变
String
不可
变
如下图: 假设给字符串s赋值为abcd,第二次重新赋值为abcdef,这时候并不是在原内存地址上修改数据,而是重新指向一个新对象,新地址。 2、
String
为毛
不可
变
? 看源码的前3行你就懂了。 1、首先...
Java
中的
String
为什么是
不可
变
的?
String
类是
不可
变
类,一个
String
对象被创建以后,包含这个对象中的字符串序列是
不可
改
变
的。与其问
String
为什么是
不可
变
的,还不如问
String
类是如何实现其对象
不可
变
的。 什么是
不可
变
对象? 如果一个对象它被...
Java SE
62,634
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章