IMOOC java入门第三季——Java 中字符串的不变性
2017-09-14 10:00
162 查看
public class HelloWorld { public static void main(String[] args) { String s1 = "imooc"; String s2 = "imooc"; String s3 = "I love " + s1; String s4 = "I love " + s1; System.out.println("s3和s4内存地址相同吗?" + (s4 == s3)); } }
运行结果:false
解释:
S1是将字符串存在常量池中,所以它的地址是常量池给的。同样S2也是常量池给的地址,地址都是字符串常
量"imooc"的地址,所以s1和s2的地址是一样的。然而s3是一个常量加上一个变量,因此是存在堆内存中,这个地址
是堆内存新给s3的。同理,s4的地址也是堆内存给他的。因此s3和s4的内存地址是不一样的。
此解释转自blog.csdn.net/erlian1992/article/details/50834877
相关文章推荐
- Java入门第三季-2.Java中的字符串
- Java入门第三季(二、字符串)
- Java基础入门笔记-字符串
- Java入门第三季-3.Java中常用类
- 模拟借书系统简易版(慕课网java入门第三季异常)
- 【Java入门第三季】Date类
- Java中字符串的不变性
- JAVA菜鸟入门(10) 类初始化, 字符串比较equals() v.s. ==, Casting, ArrayList注意
- Java入门第三季-综合实战:简易扑克牌游戏
- java:Java入门第三季第五课:抛出错误
- 三张图彻底了解Java中字符串的不变性
- iMOOC学习笔记:Java的Excel读写操作入门实践-利用POI生成Excel文件(一)
- java入门 第三季2
- [Java开发之路](8)图说字符串的不变性
- 【慕课笔记】第二章 认识JAVA中的字符串 第2节 JAVA中字符串的不变性
- 3张图彻底了解Java中字符串的不变性
- java入门教程-2.6 Java字符串(String)
- 慕课网学习Java入门第三季笔记
- Java入门第三季-4.Java中的集合框架
- Java入门第三季-学习笔记(上)