赞
踩
String str= "hello world" 和 String str = new String ("hello world") 的区别:
- String str1 = "hello world";
- String str2 = new String ("hello world");
- String str3 = "hello world";
-
- System.out.println (str1 == str2); // false
- System.out.println (str2 == str3); // false
- System.out.println (str1 == str3); //true
str1,str2,str3 都在编译期间生成了字面常量和符号引用,运行期间字面常量 "hello world" 被存储在方法区中的常量池(只保存了一份)。str1 和 str3 储存的都是 "hello world" 在常量池中的地址,str2 中储存的是堆区中的对象的地址,而对象储存的是常量池中的地址。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。