java的string类关于字符串一旦被初始化,就不可以被改变的
2015-08-21 20:12
1166 查看
比如String s = "abc";(只要是双引号引起的数据都是字符串对象。)
字符串一旦被初始化,就不可以被改变应该是 "abc"这个对象一直在内存中,而s是可以改变的,s是可以指向另一个对象的
证明:s 所指向的对象是否改变了呢?我们来看看发生了什么事情。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/29/7a615fb0ed3eacf72dfda7b247dd1fa1)
在这段代码中,s原先指向一个String对象,内容是 "abc",然后我们对s进行了+操作,那么s所指向的那个对象是否发生了改变呢?答案是没有因为s1还在。这时,s不指向原来那个对象了,而指向了另一个 String对象,内容为"abccbs",原来那个对象还存在于内存之中,只是s这个引用变量不再指向它了。
具体的可以看下http://blog.csdn.net/rmn190/article/details/1492013博客
字符串一旦被初始化,就不可以被改变应该是 "abc"这个对象一直在内存中,而s是可以改变的,s是可以指向另一个对象的
证明:s 所指向的对象是否改变了呢?我们来看看发生了什么事情。
在这段代码中,s原先指向一个String对象,内容是 "abc",然后我们对s进行了+操作,那么s所指向的那个对象是否发生了改变呢?答案是没有因为s1还在。这时,s不指向原来那个对象了,而指向了另一个 String对象,内容为"abccbs",原来那个对象还存在于内存之中,只是s这个引用变量不再指向它了。
具体的可以看下http://blog.csdn.net/rmn190/article/details/1492013博客
相关文章推荐
- Java心得19
- 解决Debug JDK source 无法查看局部变量的问题方案
- java笔记--java集合框架
- Spring AOP原理
- Java智能卡学习(1)--开发环境配置
- java并发编程---Java内存模型(JMM)
- Java线程
- java 日期类 小结
- Java相关书籍推荐
- eclipse导出可执行的jar包
- JAVA UDP聊天室
- 可视化Java垃圾回收
- Spring @PostConstruct and @PreDestroy example
- 尚硅谷公开课--struts2--7--通配映射
- Java三大常用布局管理器
- JAVA12个最重要的J2EE最佳实践
- java静态绑定和动态绑定小结
- JAVA运行程序代码段
- Java 中注意的细节之List.remove(int location)方法的使用
- Java IO体系结构