黑马程序员技术交流社区
标题:
java基础测试
[打印本页]
作者:
璇伶
时间:
2015-4-25 10:10
标题:
java基础测试
本帖最后由 璇伶 于 2015-4-25 20:18 编辑
public class Test {
public static void main(String[] args) {
String s = "abc";
String value = new String ("abc");
System.out.println(s == value);
}
}
写运行结果并分析理由
作者:
lily15
时间:
2015-4-25 10:26
false
String s = "abc";//有一个对象
String value = new String ("abc");//有两个对象
作者:
qian0217wei
时间:
2015-4-25 10:42
false
s==value比较的是s和value地址值,它们属于不同的对象,地址值也不同,所以打印结果为false
作者:
wu1123
时间:
2015-4-25 10:45
结果是false ,因为虽然都是abc但是他们是不同的字符串,只是字符串的值相同。
用equals比的话结果是false。(s==value是不是比较两个字符串的地址?)
作者:
大西洋
时间:
2015-4-25 10:59
结果是false~ 第二个String使用new关键字实例化,这样会在内存中再创建一个新的abc,value变量就会指向新的内存地址~ 这样一来他们比较的结果就是false~
作者:
ixue
时间:
2015-4-25 11:06
比较的是对象地址,不是其中的内容
作者:
1017161726
时间:
2015-4-25 11:49
如果你分得清引用类型和基础类型的区别,你就明白了。字符串是引用的。
equals比较的是内存地址。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2