不知道楼主有没有听说过“字符串缓冲池”的概念,如果没有可以到 http://bbs.itheima.com/forum.php?mod=viewthread&tid=92424去下付东老师公开课第一天的视频,讲的很具体。
在内存中有一片区域叫“字符串缓冲池”,当你的代码中有String s = "hello",虚拟机实际上是先到“字符串缓冲池”查看之前有没有定义过“hello”,如果没有,才会在“字符串缓冲池”创建一个 而“hello”+"world".(用引号引起来的),他也是到“字符串缓冲池”去直接引用或者创建,并且jvm在编译时会自动将“hello”+"world"合并为“helloworld”,张孝祥老师说:“hello”+"world"这样写是脱了裤子放屁! 呵呵! |