还有String str1=new String();又创建了几个对象??

解决方案 »

  1.   

    创建了一个String类的一个对象.
      

  2.   

    String str=new String("abc")
    在常量池里有一个"abc"
    在堆里有一个"abc"
    还有一个引用strString str1=new String();
    只有一个对象
    一个引用str1
      

  3.   

    String str1=new String();就是创一个对象了!
      

  4.   

    String这个类比较特殊点.
    应该是创建了两个对像String str=new String("abc")
    在常量池里有一个"abc"
    在堆里有一个"abc"
    还有一个引用strString str1=new String();
    只有一个对象
    一个引用str1
      

  5.   

    String这个类比较特殊点.
    应该是创建了两个对像String str=new String("abc")
    在常量池里有一个"abc"
    在堆里有一个"abc"
    还有一个引用strString str1=new String();
    只有一个对象
    一个引用str1============
    我不赞同String str=new String("abc")
    在堆里有一个"abc"
    还有一个引用strString str1=new String();
    只有一个对象
    一个引用str1
      

  6.   

    绝对是一个,然后每次改变一次都创建一个String 对象。
      

  7.   

    JAVA技术群!愿意的加!36310034!!!!
    JAVA技术群!愿意的加!36310034!!!!
    JAVA技术群!愿意的加!36310034!!!!
    JAVA技术群!愿意的加!36310034!!!!
      

  8.   

    http://community.csdn.net/Expert/topic/4802/4802083.xml?temp=.2654993
      

  9.   

    String str=new String("abc")
    自己算
    首先构造一个临时对象"abc"
    然后构造一个常量池对象,这个不算也行
    然后是临时对象的副本构造函数("abc")
    然后才是构造str=new String("abc")
    还有个str的引用,这个不算进来也行
      

  10.   

    String str=new String("abc");
    2个
      

  11.   

    2个对象,一个“abc”字符串对象和一个String对象,str引用String对象
      

  12.   

    2个
    同意 bruclan(东张西望的小野狼) 的说
      

  13.   

    Jdk API上这么说:
    public String(String original)
    初始化一个新创建的 String 对象,使其表示一个与参数相同的字符序列;换句话说,新创建的字符串是该参数字符串的副本。由于 String 是不可变的,所以无需使用此构造方法,除非需要 original 的显式副本所以应该是两个,一个orginal一个新建的;我想只要一用成对的""就会产生一个String对象吧。
      

  14.   

    看上下文,创建过 "abc" 这个String 的话,你的问题答案是 1。否则 是 2  。
      

  15.   

    对于String str=new String("abc")
    我理解是String("abc")在堆里分配了一块内存,内容是original的值,然后把这个地址给了str,所以觉得还是一个对象.
    再问 
    String str1=new String("abc");
    String str2=str1;
    这里有几个对象呢?
    我觉得str1和str2应该是同一个对象.
    各位高手指点一下,小弟刚刚学习JAVA
      

  16.   

    2个
    同意 bruclan(东张西望的小野狼) 的说
      

  17.   

    String a = new String("abc")
    内存中只有一个aa是个引用类型//你是不能该改变它的
    String a  = "abc"内存中只有一个abc
    而这个a是个基本类型
      

  18.   

    大家众说纷纭,不如去看看java 编程思想先,那里有答案和解释。
      

  19.   

    肯定是两个,
    String str=new String("abc")
    上面这个写法就等同下面这个,你们说是几个对象
    String st = "abc";
    String str = new String(st);
      

  20.   

    java,.net,asp,技术讨论群14401742,诚招高手加入,共同讨论,共同发展。
      

  21.   

    考试写两个就成了---
    考虑SUN做法--可能不止两个哦!
      

  22.   

    String str1=new String(“abc”)
    String str2=str1;
    这里有几个对象呢?
    我觉得str1和str2应该是同一个对象.
    ================================
    我感觉这里str1和str2不是同一个对象,这个应该存在3个对象。2个String类型的引用对象, 分别是str1和str2,1个值是“abc”的String类型常量对象。
    hz_80() 认为str1和str2他们是同一个对象的原因是因为它们都把引用指向了String(“abc”)这个对象。
    以上是我的愚见,欢迎指正 谢谢
      

  23.   

    我认为是两个对象:2个对象,一个“abc”字符串对象和一个String对象,str引用String对象
      

  24.   

    String str = "a" + "b";
    创建了几个对象?