您的位置:首页 > 编程语言 > Java开发

java中String.intern()方法剖析

2014-03-31 19:14 615 查看
   
    String str1
= "name";

       
String str2 = "name";

   
    String str3
= new String("name");

       
System.out.println(str1==str2) //true

       
System.out.println(str1 == str3) //false “==”比较的是内存地址

 
      
System.out.println(str1.equals(str3)) //true 
使用equals比较的是值

   
   
System.out.println(str3==str3.intern());
//false   
---------------ABCDEFG

    
  字符串池   
     
     
    
堆                 


   
    "name" 
     
       
str3的引用    
str3的内存空间(“name”)

                                    
(str1  str2)

                                      
同时指向字符串池中“name”

     

      
str3.intern()使用了intern后,返回一个指向字符串池中的“name” 的引用,所以不相等(ABCDEFG)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: