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)
相关文章推荐
- Java中String.intern()方法详解
- Java String的intern方法 在JDK6和JDK7的不同行为
- java String中的intern方法
- java String 中 intern方法的概念
- java String的equals,intern方法
- java对象转为java String的几种常用方法剖析
- 【Java学习笔记】String对象的不变性和intern()方法——基于Java SE8
- java String的equals,intern方法
- Java String intern()方法
- (Java)String的intern方法
- java-String中的 intern方法
- java String 中 intern方法
- JAVA的String中intern的方法
- Java内存分析(3)——String的Intern方法详解
- 关于java String的intern()方法的理解
- java对象转为java String的几种常用方法剖析
- java对象转为java String的几种常用方法剖析
- java String 中 intern方法的概念
- java String的equals,intern方法(转载)
- Java记录 -27- String的intern方法