浅谈java对象的equals方法
来源:互联网 发布:mysql拖动排序设计 编辑:程序博客网 时间:2024/06/05 02:27
作为一个被问的很多的一个面试题:java中==和equals有什么区别?
网上普遍的回答都是:==比较的是内存地址,equals比较的是值。
其实这种回答是很不标准的,稍微标准一点的回答应该JDK自带的一些类对equals的实现各不同,例如
Object对象的equals的定义是这样的:
public boolean equals(Object obj) { return (this == obj);}
所以在Object中==和equals是没有任何区别的。
但在String中,重写的equals方法是这样定义的:
public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString = (String)anObject; int n = value.length; if (n == anotherString.value.length) { char v1[] = value; char v2[] = anotherString.value; int i = 0; while (n-- != 0) { if (v1[i] != v2[i]) return false; i++; } return true; } } return false;}
Long对象的equals的定义:
public boolean equals(Object obj) { if (obj instanceof Long) { return value == ((Long)obj).longValue(); } return false;}
转至http://www.cnblogs.com/yangzhilong/p/6391548.html
阅读全文
0 0
- 浅谈java对象的equals方法
- java对象equals方法的重写
- java对象equals方法的重写
- java对象equals方法的重写
- java对象equals方法的重写
- java对象equals方法的重写
- 关于Java的对象equals方法
- 浅谈Java中的hashcode和equals方法
- java 的 equals()方法
- java的equals方法
- 七、java的面向对象程序设计(详解equals方法)
- Java对象的equals方法分析与重写
- java类对象进行equals比较的方法
- 浅谈Java的==、equals()、hashcode()
- java编写比较对象相等equals方法
- Java对象判等,重写equals方法
- 浅谈对java中的hashset和Treeset 中重写equals()方法的不同及用法
- 浅谈Java中的hashcode,equals,==方法
- .net开发中遇到的问题汇总
- VMware虚拟机嵌套虚拟机 提示kvm不可用
- Openssh7.5移植
- HTML5 新标签和属性(表单验证)
- STM32中的assert_param函数浅析
- 浅谈java对象的equals方法
- 6-5 java简介
- RocketMQ原理解析-consumer 5.push消费-顺序消费消息
- VS2010程序输出路径参数设置
- Linux Device Tree 同名覆盖问题
- Redis相关
- 用三重指针实现HaffTree
- 线程sleep()和 wait()有什么区别?
- JAVA环境变量配置