又是copy来的请问
s1=new String("Happy")
和
s1="Happy"有什么区别
分别是在什么情况下应用的呢(1)
举个例子:String str = "Happy";
String s1 = "Happy";out.print(s1==str);//the result is true but:
String str = "Happy";
String s1 = new String("Happy");out.print(s1==str);//the result is false
(2)
new String("Happy")
显拭创建一个对象。String s1 = "Happy" 隐式创建一对象。
从使用角度,二者其本没有区别。对于
String str = "Happy";
String s1 = "Happy";
out.print(s1==str);//the result is true
上述条件未必永远成立,
取决于编译器的实现。
s1=new String("Happy")
和
s1="Happy"有什么区别
分别是在什么情况下应用的呢(1)
举个例子:String str = "Happy";
String s1 = "Happy";out.print(s1==str);//the result is true but:
String str = "Happy";
String s1 = new String("Happy");out.print(s1==str);//the result is false
(2)
new String("Happy")
显拭创建一个对象。String s1 = "Happy" 隐式创建一对象。
从使用角度,二者其本没有区别。对于
String str = "Happy";
String s1 = "Happy";
out.print(s1==str);//the result is true
上述条件未必永远成立,
取决于编译器的实现。
解决方案 »
- 新人学习se 想找点习题练练
- 有经验的大侠帮忙一下!关于转行?
- 关于定时器的问题
- 十六进制 转 字符数组 问题 发钱1~!~
- 100分!拼了老命跪求:java中所有java命令的中文注释及用法!
- 循环体内部还能定义变量?
- 请教各位高手,你们是如何理解“对象”的!
- 单词词频统计,为什么出不来效果?
- 如何修改用了JTree的Applet,才能在不安装 JavaPlugin1.3.1的浏览器中也能正常显示????
- 菜鸟求助!如何声明一个自定义位数的二进制数?
- MySql安装完毕(win2000)一定要执行“winmysqladmin.exe”激活mysql服务么?
- 算是文件加密的问题吧!(急!!!)
java里有优化处理机制,
这个机智就是:
如果你直接:String s="AAA",
注意,是直接给了数值,而不是通过new String("AAA"),
则,jvm会在内部一个列表内给你分配地址,
等你再String s2="AAA"时,jvm会查这个列表,看是否有“AAA”,如果有,就重用。但,对于new String("AAA")则每次都会申请新的地址,不会做优化处理。
所以,产生了你的现象。
String str = "Happy";
String s1 = "Happy";
out.print(s1==str);//the result is true
上述条件未必永远成立,
取决于编译器的实现。”个人认为上面的言论是错误的。他们永远成立。只要是sun的标准java虚拟机。