Java基础回顾 —String常量池

String pool: 字符串池(栈里面) Java里面的共享设计
字面值方式创建
String t1 = "Test"
String t2 = "Test"
t1 的Test 第一次创建先去pool里面查找,没有就会将值放进String pool,t2创建的时候先去pool里面查找,有的话就直接指向那个存在的对象。
new 出来的 (堆中一直会创建新的对象):
1) 首先在String pool里面查找有没有Test对象,如果有,则不在String pool中创建这个对象了,则直接在堆中创建一个Test对象,然后将堆中的对象地址返回来给t1.
2) 如果没有,则现在String pool中先创建Test对象,然后再去堆中创建一个Test对象,然后将堆中的对象地址返回来给t2.

intern() : 返回String pool的值

原文地址:https://www.cnblogs.com/nextStep/p/6678254.html