直接量

	public static void main(String[] args) {
		
		/**
		 * 当程序第一次使用某个字符串直接量时,java会使用常量池来缓存该字符串的直接量
		 * 如果程序后面部分需要用到该字符串直接量时,java会直接使用常量池中的字符串直接量
		 * 
		 * 由于String是一个典型的不可变类,因此String对象创建出来就不可能改变,因此无需担心共享String对象会导致混乱
		 * 
		 * 常量池constant pool:在编译时期被确定,并被保存在已编译的.class文件中的一些数据,它包括关于类、方法、接口中的常量,也包括字符串常量
		 */
		
		String a = "hello";
		String b = "hello";
		
		String c = "he" + "llo";
		
		System.out.println("a == b ? " + (a == b));
		System.out.println("a == c ? " + (a == c));
	}
	
--------------------------------
a == b ? true
a == c ? true

原文地址:https://www.cnblogs.com/roxy/p/9480232.html