java---String类的intern方法
2016-11-14 10:07
337 查看
在《深入理解Java虚拟机》的第二章中的运行时常量池知识点的讲解中,说到“运行时常量池相对于Class文件常量池的另外一个重要特征是具备动态性,java语言并不要求常量一定只能在编译器产生明也就是并非预置入Class文件中常量池的内容才能进入方法区运行时常量池,运行期间也可能将新的常量放入池中,这种特性被开发人员利用得比较多的便是String类的intern()方法”。
在网上查找了有关intern()方法的相关内容,下面推上代码:
package com.leetcode.test;
/**
* @author Demetria
* 这里测试java中String类的intern方法
*
*/
public class InternDemo {
public static void main(String args[]){
String s1="hello";
String s2=new String("hello");
System.out.println(s1==s2);//false
String s3=new String("hello").intern();
System.out.println(s1==s3);//true
}
}
当调用 intern()方法时,如果池已经包含一个等于此 String 对象的字符串(该对象由 equals(Object) 方法确定),则返回池中的字符串。否则,将此 String 对象添加到池中,并且返回此 String 对象的引用。这时候s1和s3就是相等的。
在网上查找了有关intern()方法的相关内容,下面推上代码:
package com.leetcode.test;
/**
* @author Demetria
* 这里测试java中String类的intern方法
*
*/
public class InternDemo {
public static void main(String args[]){
String s1="hello";
String s2=new String("hello");
System.out.println(s1==s2);//false
String s3=new String("hello").intern();
System.out.println(s1==s3);//true
}
}
当调用 intern()方法时,如果池已经包含一个等于此 String 对象的字符串(该对象由 equals(Object) 方法确定),则返回池中的字符串。否则,将此 String 对象添加到池中,并且返回此 String 对象的引用。这时候s1和s3就是相等的。
相关文章推荐
- java-String类深入剖析和 intern()方法解析
- Java技术——你真的了解String类的intern()方法吗
- Java技术——你真的了解String类的intern()方法吗
- Java基础-String类的intern()方法详解
- JAVA中String类的intern()方法的作用
- Java技术——你真的了解String类的intern()方法吗
- Java技术——你真的了解String类的intern()方法吗
- JAVA中String类的intern()方法的作用
- Java技术——你真的了解String类的intern()方法吗
- Java技术——你真的了解String类的intern()方法吗
- Java技术——你真的了解String类的intern()方法吗
- JAVA中String类的intern()方法的作用
- Java技术——你真的了解String类的intern()方法吗
- java-String类intern()方法
- Java的String类中的intern()方法
- Java技术——你真的了解String类的intern()方法吗
- Java技术——你真的了解String类的intern()方法吗
- Java技术——你真的了解String类的intern()方法吗
- java 关于string类的intern方法
- Java中String类的intern()方法深入理解。