java String intern测试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java String intern测试相关的知识,希望对你有一定的参考价值。
package org.hujian.jdk.string;
import org.hujian.common.JvmTestRunner;
/**
* Created on 2018/11/9 11:26.
*
*/
public class TestStringIntern extends JvmTestRunner {
/**
* 在这里实现测试逻辑,不提供参数列表以及返回值,执行该方法应该测试到
* 你需要实现的所有逻辑,本方法单线程执行(main)
*/
@Override
protected void execute() {
//// javac在编译的时候会把字符串常量放到常量池中
//// 所以,如果 s == s.intern() 为true则代表常量池中不存在s
/// "==" 比较的是指针地址!!!
String cc = new StringBuilder().append("aaa").toString();
System.out.println(cc.intern() == cc); /// false
String ee = new StringBuilder().append("ab").append("aa").toString();
System.out.println(ee.intern() == ee); /// true
String s1 = "hujian";
String s2 = new String("hujian").intern(); /// 指向了常量池中的 "hujian"
System.out.println(s1 == s2); /// true
String s3 = "test";
String s4 = new String("test");
System.out.println(s3 == s4); /// false,两个对象
}
public static void main(String[] args) {
new TestStringIntern().execute();
}
}
以上是关于java String intern测试的主要内容,如果未能解决你的问题,请参考以下文章
几张图轻松理解String.intern()
String.intern()字符串常量池
几张图轻松理解String.intern()
几张图轻松理解String.intern()
String==相关
java String中的intern()