您的位置:首页 > 编程语言 > Java开发

String在JAVA里是固定长度的吗?为什么可用“+”连接

2016-04-18 13:59 453 查看
所谓长度固定不是你理解的意思
而是说String类中存储的char[]是final的,不能修改,你对String的操作实际上是产生了一个新的String,对于某一个String来说,长度就是固定的了

String s = "asdf";当您定义这个变量时,根据Java的对象池机制,JVM-java虚拟机会在内存的堆栈中的某一个地址分配一个字符串常量 asdf , 而且您
可以查阅J2SE的API,你会发现String类型的变量是
不可以像StringBuffer一样继续追加字符的(即追加字符后,就不是原先的对象了),
所以使用‘+’连字符s = s+"x";后,JVM又在堆栈中生成了新的字符串常量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: