equals()方法和“==”的区别
来源:互联网 发布:大连软件学校 编辑:程序博客网 时间:2024/05/17 22:03
在这两者中,“==”是比较简单的,所以我们先讨论一下“==”
1. “==”的作用就是比较左右两边的值是否相等:
(1)对于Java中的原生数据类型,如int,boolean等,其比较的就是它们字面值是否相等,这个应该是很好理解的;
(2)对于引用类型,如Student student=new Student(),这其中的student就是引用类型,其作用也是比较左右两边的值是否相等,只是时候的值是地址(引用类型的值是地址)。
2. equals()的作用需要分情况来说明:
(1)对于原生数据类型来说,equals()的作用是比较左右两边的值是否相等,跟“==”的作用是一样的。
(4)对于自己定义的类所生成的对象来说,如果自定义的类没有重写equals()方法,那么它将继承父类或者Object类型的equals()方法。如果重写了的话当然就是自己定义的equals()方法所实现的功能。
1. “==”的作用就是比较左右两边的值是否相等:
(1)对于Java中的原生数据类型,如int,boolean等,其比较的就是它们字面值是否相等,这个应该是很好理解的;
(2)对于引用类型,如Student student=new Student(),这其中的student就是引用类型,其作用也是比较左右两边的值是否相等,只是时候的值是地址(引用类型的值是地址)。
2. equals()的作用需要分情况来说明:
(1)对于原生数据类型来说,equals()的作用是比较左右两边的值是否相等,跟“==”的作用是一样的。
(2)对于String类型来说,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; }
(4)对于自己定义的类所生成的对象来说,如果自定义的类没有重写equals()方法,那么它将继承父类或者Object类型的equals()方法。如果重写了的话当然就是自己定义的equals()方法所实现的功能。
0 0
- "==" 和 equals方法的区别
- "=="和equals方法的区别
- "=="和equals方法的区别
- equals方法和“==”的区别
- equals和"=="方法的区别
- equals()方法和“==”的区别
- "=="和equals方法的区别
- "=="和equals方法的区别?
- equals()方法和“==”的区别
- "=="和equals方法的区别
- "=="和equals方法的区别
- "==" 和 .equals()方法的区别
- "=="和equals方法的区别?
- ==和equals方法的区别
- "=="和equals方法的区别?
- "=="和equals方法的区别?
- “==”和equals方法的区别
- "=="和equals方法的区别
- CSS 列表属性允许你放置、改变列表项标志,或者将图像作为列表项标志。
- 笔记——float型数据的int引用
- 模拟-POJ-3087-Shuffle'm up
- 操作符(operator)
- 深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
- equals()方法和“==”的区别
- MATLAB 归一化 函数用法以及实例
- 暑假第2周周报
- javascript中的美元符号$是做什么的?
- Java虚拟机工作原理详解
- Matlab中配置LibSVM的操作步骤
- hdoj5336
- 黑马程序员-多线程基础知识2
- Android之——ListView优化