String a = new String ("abc");
String b = a+"dfs";
几个对象

解决方案 »

  1.   

    如果编译器没有优化的话,应该是4个吧。new时2个,堆区和串池,"dfs"串池中,连接再次生成一个
      

  2.   

    2个 a&bnew String ("abc");a+"dfs";传的是引用么
      

  3.   

    我觉得应该是4个,a,b   "abc"和"dfs"也是String对象。呵呵,关于String的话题,永远都有.
      

  4.   

    3个,
    a是一个 
    new String ("abc")是一个
    b是一个
    String 是定长,一旦改变长度就是new了一个新对象 
      

  5.   

    2个吧,"dsf"这个好像没有按对象处理
      

  6.   

    4个,"abc" 和"dfs"放在常量池,a和b放在堆里。
      

  7.   

    楼上,只有new出来的字符串对象自己开辟了空间,其余都在字符串池里。总共4个...
      

  8.   

    4个对象
    a、b是显示创建的
    "abc"、"dfs"是隐式创建的
      

  9.   

    4个
    a和b 放在栈里 a和b所指的对象放在堆里
      

  10.   

    我昨晚又想了一下,应该是3个,a指向的是"abc"的引用,所以他们应该算一个。
    总共就3个。
      

  11.   

    如果问几个对象,应该是4个,常量池两个,new了两个
    如果问创建了几个对象,应该是是2个,new的两个,常量池的早就有了创建的对象应该是:
    new String("abc")
    a+"dfs"  至于String 声明的a和b 都是引用 不是对象
      

  12.   

    我Kao,常量池之类的这些知识哪里写过,应该去看<深入Java虚拟机>吗?
      

  13.   

    应该说String类型的对象有4个
    String Pool中有两个"abc"、"dfs"
    new String算一个
    b = a + "dfs";StringBuilder.append()方法。会返回一个String对象,内部调用的是StringBuilder的toString()方法
    b = a + "dfs";在编译的时候不会优化"abc"+"cbd"这种才优化
    日经贴又来了
      

  14.   

    4个对象
    a、b是显示创建的
    "abc"、"dfs"是隐式创建的
      

  15.   

     4个a b abc dfs !!
      

  16.   

    4个
    a在堆里
    b "abc" "dfs" 在其他地方- -