String对象常量池

对象池的主要目的是实现数据的共享处理,

在java之中对象池可以分为两种:
1、静态常量池 :指*.class加载时会自动将此程序之中保存的
字符串、普通的常量、类和方法的信息等全部经行分配

2、运行时常量池 :当一个*.class加载之后,里面可能有一些变量,输入之后在进行接收

 1 package Class_String;
 2 
 3 public class Dome {
 4     public static void main(String[] args) {
 5 
 6         String str1 = "123" ;
 7 
 8         String str2 = "1" + "2" + "3" ;
 9 
10         String str3 = "2" ;
11 
12         String str4 = "1" + str3 + "3" ;
13 
14         System.out.println(str1 == str2);  //true
15 
16         /*
17         * 本程序之间所给出的内容全部都是常量数据(字符串的常量都是匿名对象)
18         * 所以在程序加载的时候会自动帮你处理好相应的连接
19         * */
20         System.out.println(str1 == str4);  //false
21         /*
22         * 因为程序在加载的时候,程序不确定str3是什么内容,因为字符串连接的时候
23         * str3采用的是变量,变量的内容可以修改,所以最终不认为str3的结果就是一个所需要的值
24         * */
25     }
26 }
 

 

猜你喜欢

转载自www.cnblogs.com/fairy-land/p/11979107.html