equals与==的区别
2015-12-23 10:15
183 查看
**
* Object 是所有对象的直接或简介父类(超类) 该类中定义的肯定是所有对象都具备的功能
*
*
* 面试题:equals和==有啥区别
* * 答:在Object类下,equals就是==(比较的是两个对象是否是同一个对象(地址和内容)) 在String
* 类下,由于String类重写了equals方法,比较的仅仅是两个对象的内容 ==不变*
* @author ZHOU
*
*/
public class ObjectDemo {
public static void main(String[] args) {
Demo d1 = new Demo();
Demo d2 = new Demo();
Demo d3 = d1;
System.out.println(d1.equals(d3));
System.out.println(d1 == d2);
System.out.println(d1.equals(d2));
System.out.println(d1 == d3);
// Onject类中已经定义了对对象是否想通的方法
/**
* 如果我们自定义的类也需要有比较是否想通的功能 只要沿溪父类中 的功能,建立自己的特有比较内容即可,这就是覆盖(重写)
*/
/*-----*/
Demo d4 = new Demo(4);
Demo d5 = new Demo(4);
/*-比较对象-*/
System.out.println(d4.equals(d5));
/*-比较内容-*/
System.out.println(d4 == d5);
System.out.println(d4.toString());
}
}
class Demo {
public int num;
public Demo() {
}
public Demo(int num) {
this.num = num;
}
@Override
public boolean equals(Object obj) {
Demo d = (Demo) obj;
return this.num == d.num;
}
@Override
public String toString() {
return "demo:" + num;
}
}
相关文章推荐
- 性能测试技术提高的门槛
- jQuery教程(19)-jquery ajax操作之序列化表单
- 28家中国域名商保有量统计:有孚网络升至第十五
- 高效编写代码
- 论文密级
- vim制作成IDE
- Java NIO原理和使用
- MacBook 双击Command出来的快捷搜索是怎么回事?
- 再谈网游同步技术:实时动作游戏同步方式和传输协议选择
- JAVA-IO之File类
- qml 3
- 枚举单例
- mysql 导出导入数据库以及函数、存储过程
- 常见的服务器
- [易飞]包材Forcast四周滚动需求
- windows 2012 如何设置取消禁拼ping
- 论文密级
- iOS 导航栏遮挡问题 --- iOS开发系列 ---项目中成长的知识七
- 输入框长按后的 选项 本地化
- <php+mysql>Mac配置APACHE+PHP+MYSQL+PHPMYADMIN