String str = new String("a")+"a"定义了几个字符串对象
说明一下都是哪几个字符串对象,多谢了。

解决方案 »

  1.   

    我觉得是三个
    字符串池里首先是有一个“a”
    new String("a");又创建了一个
    后面+的那个“a”则直接引用到字符串池里的“a”,也就是第一个“a”,所以没有再创建 
    String str又是一个
    所以一共三个
      

  2.   

    错了 是俩  没有str
    我咋晕了!!!str是栈里面的局部变量好不好???
      

  3.   

    第一个:“a”
    第二个:new String("a")
    第三个:new String("a")+"a"?
    前两个加在一起也算是新的字符串对象吧?
      

  4.   

    我说的str算一个指的是"aa"这个字符串对象,不是引用对象