字符串常量池

来源:互联网 发布:淘宝可以上传tm标吗 编辑:程序博客网 时间:2024/06/01 22:57

字符串常量池:是指.java编译的时候已经被确定,并且被保存在编译好的.class文件中

1、String str = "strHello";

String str1="strHello";

String str2 = "str"+"Hello";

str==str——true

str1==str2——true

解析: 字符串常量池就像一个池子,确保在池子中一个字符串常量只有一个拷贝,对于str1来说,在池子中已经有"strHello",java就不会再创建实例,会把str1直接引用到“strHello”,所以str和str1的引用地址相同,当一个字符串常量由多个字符串常量组成,它也是字符串常量,所以2个都是true

2、String str = "strHello";

String str2 = new String("strHello");

str==str2——false

解析:str还是字符串常量,编译的时候已经确定,str2无法再编译期间被确定,所以是运行时创建的新对象str2的引用

3、String str = new String("strHello");

String str2 = new String("strHello");

str==str2——false


0 0
原创粉丝点击