理解字符串池

 
package com.sjc.test;

public class StringTest {
	public static void main(String[] args){  
		String a=new String("foo");
		String b=new String("foo");
		
		String c="foo";
		String d="foo";
		System.out.println("a=b "+(a==b));//输出falseString a=new String("foo");String b=new String("foo");是开辟的独立的内存,a、b互相独立,当然与下面的字符串池中的foo更是互不相干
		System.out.println("c=d "+(c==d));//输出true,说明c、d指向了同一个内存地址String c="foo";String d="foo";是将foo存在了字符串池中,c、d都指向该foo(同一个)
	}  
}

经典博客,深入理解常量池:https://www.jianshu.com/p/c7f47de2ee80

猜你喜欢

转载自blog.csdn.net/Noreaday/article/details/79933938