String在JAVA里是固定长度的吗?为什么可用“+”连接
2016-04-18 13:59
453 查看
所谓长度固定不是你理解的意思
而是说String类中存储的char[]是final的,不能修改,你对String的操作实际上是产生了一个新的String,对于某一个String来说,长度就是固定的了
而是说String类中存储的char[]是final的,不能修改,你对String的操作实际上是产生了一个新的String,对于某一个String来说,长度就是固定的了
String s = "asdf";当您定义这个变量时,根据Java的对象池机制,JVM-java虚拟机会在内存的堆栈中的某一个地址分配一个字符串常量 asdf , 而且您 可以查阅J2SE的API,你会发现String类型的变量是 不可以像StringBuffer一样继续追加字符的(即追加字符后,就不是原先的对象了), 所以使用‘+’连字符s = s+"x";后,JVM又在堆栈中生成了新的字符串常量。
相关文章推荐
- 使用Java 导入Zip文件遇到中文命名乱码问题
- java常用同步工具类
- java常用算法之返回目标数字在有序数组中的位置(假设有序数组中不存在重复数字)
- 深入理解 Java中的 流 (Stream)
- java判断字符串是否为空的方法总结
- Java8之默认方法和静态接口方法
- springMVC中from表单提交对象
- Java命名规范
- java NIO(转)
- JAVA锁机制
- java中四种操作(dom、sax、jdom、dom4j)xml方式详解与比较
- 在eclipse中使用javap
- java编程之SwingUtilities中invokeLater和invokeAndWait的使用
- 总结了一些java基本的一些陷阱
- Java 正则应用总结
- java基础(9)-- Java关键字及其作用
- myeclipse如何导出javadoc
- java常用算法之返回字符串中目标字符串的位置
- Eclipse ADT插件安装
- 搬圆桌-Java