码迷,mamicode.com
首页 > 其他好文 > 详细

String str 与 String str=new String("") 区别

时间:2014-12-24 11:34:18      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

1.当使用String str="abc",这种方式时,先去内存的Heap中找是否存在"abc"这个字符串,若存在,则将地址引用。若不存在则创建。

 

2.当使用String str=new String("abc");时,不管事先是否存在"abc",每次都会创建其新的对象。

 

测试一下:

        String s1="abc";  
        String s2="abc"; 
        String s3=new String("abc");    

        String s4=new String("abc");

 


        System.out.println(s1 == s2);  
        System.out.println(s2 == s3);  

 

        System.out.println(s1 == s3);

        System.out.println(s4 == s3);

打印的结果为:

        true
        false
        false

        false

 

为什么呢?

参看以上两点可知,s1,s2引用的是相同的地址,故为true

                           s3又创建了一个新的"abc"对象,故为false

String str 与 String str=new String("") 区别

标签:

原文地址:http://www.cnblogs.com/0515offer/p/4181860.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!