今天在研究String的各种声明到底生成几个对象的问题,网上答案五花八门,
要是能直接看String池就知道的更清楚了,不然越想越晕……

解决方案 »

  1.   

    参见 臧为人  (wei 不会写了...囧..)的pdf文档..讲的很清楚.
      

  2.   

    结贴给分吧  哈哈
    看看我的这篇blog吧  写的不好 但里面也给你链接了其他人的文章  你都可以去看看
    http://blog.csdn.net/justinavril/archive/2008/10/01/3007762.aspx
      

  3.   

    推荐JVM规范,里面对String池的机制专门介绍了。
    或者去看axman老大在论坛里回复的帖子。
      

  4.   

    他最后关于String的说法也是不正确的。
      

  5.   


    在 Javaeye上. 有最后的讨论/..  在他的blog里面. 有澄清的..  放心大胆的看..他javaeye博客地址忘了..
      

  6.   

    String str1 = new String("hello");
    这里创建了两个对象,一个为hello,一个为str1.两个创建的时间不同,前面的在编译时创建,后面的在运行是创建。String str2 = "hello";
    这里创建了一个变量,在编译时就创建了。