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


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

 

 

String s = "asdf";当您定义这个变量时,根据Java的对象池机制,JVM-java虚拟机会在内存的堆栈中的某一个地址分配一个字符串常量 asdf , 而且您
可以查阅J2SE的API,你会发现String类型的变量是
不可以像StringBuffer一样继续追加字符的(即追加字符后,就不是原先的对象了),
所以使用‘+’连字符s = s+"x";后,JVM又在堆栈中生成了新的字符串常量

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM