String str = "hello";
 String str=new String ("hello")有区别吗

解决方案 »

  1.   

    第一个字符串, 分配在内存的数据区, 第二个字符串分配在内存的堆中, 记住一点就够了,所有new 出来的东西全部在堆中分配
      

  2.   

    是不是,String str = "hello";我创建了一个引用,str这个应用指向的是常量池中的内存地址,没有创建对象.而String str=new String ("hello")中的str是指向的堆中对象的地址,
      

  3.   

    有区别
    String str = "hello";
    先在内存中找是不是有"hello" 这个对象,如果有,就让str指向那个"hello".如果内存里没有"hello",就创建一个新的对象保存"hello".
    String str=new String ("hello")
    就是不管内存里是不是已经有"hello"这个对象,都新建一个对象保存"hello"