黑马程序员技术交流社区
标题: String小例子示范 [打印本页]
作者: Justfeeling 时间: 2014-8-9 22:01
标题: String小例子示范
/*
String string1="abc";
String string2="abc";
//只有显示初始化字符串才有这样的结果。比较两个对象或者基本数据 类型时,用==,比较的是地址值。
System.out.println(string1==string2); //true
//equals(Object obj):指其他某个对象是否与此对象“相等”(实际是相同)。Object中对比的是两个对象的地址。但是其子类可以重写这个方法,比较其他的内容(比如String重写了equals方法,比较的是具体的字符串值是否相等。)
System.out.println(string1.equals(string2)); //true
*/
作者: 依然超级赛亚人 时间: 2014-8-10 07:06
本帖最后由 依然超级赛亚人 于 2014-8-10 07:09 编辑
我想插一句,在用==比较基本类型的数据时,比较的是基本类型的值是否相同,比较引用类型时比较的是对象的地址值是否相同。我们比较地址值时常用==,比较内容是否相等时用equals(),而且自定义类基本上都得自己改写此方法,否则默认比较地址值。
ps:当学会了eclipse软件时,会点击鼠标就行了,它会在你的自定义类中自动生成equals()方法,当然前提最好还是自己弄懂了为什么要重写,以及遇到各种自定义类时怎么重写,否则没理解到位的话自己有时甚至连自动重写都经常忘掉。下面是我们学的==和equals的总结:
==和equals()的区别?
A:==
基本类型:比较的是基本类型的值是否相同
引用类型:比较的是对象的地址值是否相同
B:equals()
默认情况下,比较对象的地址值。
如果重写了该方法,那么,什么作用请看自己的代码。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |