黑马程序员技术交流社区

标题: String类为什么是不可变的? [打印本页]

作者: 海绵宝宝的微笑    时间: 2015-6-12 22:04
标题: String类为什么是不可变的?
String类为什么是不可变的?求原理
作者: shuaiqi_P_D    时间: 2015-6-12 22:13
因为它在内存底层中是以字符数组排列的。
作者: 一休    时间: 2015-6-12 22:15
同问   求大神解答
作者: duzhi409    时间: 2015-6-12 22:53
你可以去看源代码,里面有写String被final修饰了,所以是一个常量
作者: 海绵宝宝的微笑    时间: 2015-6-13 13:15
duzhi409 发表于 2015-6-12 22:53
你可以去看源代码,里面有写String被final修饰了,所以是一个常量

我看了资料说StringBuffer是可变的,可我看到StringBuffer也是final修饰的,为什么它就可变呢?
作者: guiqulaixi    时间: 2015-6-13 15:37
楼上正解
作者: YongBao_Summer    时间: 2015-6-13 17:09
学习了。
作者: zhaopy    时间: 2015-6-13 20:14
学习了!
作者: 十五号的人生    时间: 2015-6-13 21:33
楼上正解,学习了
作者: GoldMan    时间: 2015-6-13 21:41
论坛里大神实在是太多了
作者: 海绵宝宝的微笑    时间: 2015-6-13 23:13
kikt 发表于 2015-6-13 14:41
String和StringBuffer包括StringBuilder底层都是用char[]储存数据的
不同的是 String类的char[]数据前面有 ...

非常感谢!
作者: 海绵宝宝的微笑    时间: 2015-6-13 23:16
kikt 发表于 2015-6-13 14:41
String和StringBuffer包括StringBuilder底层都是用char[]储存数据的
不同的是 String类的char[]数据前面有 ...

谢谢,懂了
作者: 时光匆匆    时间: 2015-6-14 02:12
多看看API
作者: 海绵宝宝的微笑    时间: 2015-6-14 21:40
kikt 发表于 2015-6-13 14:41
String和StringBuffer包括StringBuilder底层都是用char[]储存数据的
不同的是 String类的char[]数据前面有 ...

谢谢!自己整理了一下,懂了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2