java基础—equals和==的区别
来源:互联网 发布:linux 源码安装lnmp 编辑:程序博客网 时间:2024/05/17 10:54
这是很多人的误区,认为==比较的是数值,equals比较的是字符串
= =:
基本类型比较值:只要两个变量的值相等,即为true.
引用类型比较引用(是否指向同一个对象):只有指向同一个对象时,==才返回true.
equals:
只能比较引用类型,其作用与“==”相同,比较是否指向同一个对象。
注意:当用equals()方法进行比较时,对类File、String、Date及包装类来说,是比较类型及内容而不考虑引用的是否是同一个对象;
原因:在这些类中重写了Object类的equals()方法。这就导致很多人以为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; }
阅读全文
0 0
- java基础—equals和==的区别
- java基础—==和equals的区别?
- Java 学习笔记-基础-"=="和equals()的区别。
- java基础之“==” 和equals()方法的区别
- Java基础回顾: "=="和equals()方法的区别
- java 基础 ==号和equals的区别
- JAVA基础:“==”和“equals”的区别
- java基础------==和equals的区别
- java基础——“”equals“”与 “”==“” 的区别
- 黑马程序员——Java基础---关于equals和==的区别的理解
- java ==和equals、equals和hashCode的区别
- 黑马程序员——Java基础---equals和"=="的区别
- Java基础(一)——equals和==的区别
- Equals和==的区别,java
- java == 和 equals的区别
- java ==和equals的区别
- Java "equals"和"=="的区别
- java:equals 和 ==的区别
- HDU 6119 小小粉丝度度熊(尺取)
- element ui下拉组件command传输对象
- 21. Merge Two Sorted Lists
- org.apache.ibatis.type.TypeException: Could not resolve type alias 'id'.
- Linux下用at命令编写简单的计划任务
- java基础—equals和==的区别
- 人脸特征点检测(四)——Tasks-Constrained DCN(TCDCN)
- 第一章javaweb应用开发技术概述
- WEB_02_CSS_第六讲_CSS盒子模型
- centos 安装 rabbitMq
- LeetCode----- 14.Longest Common Prefix
- Java后台框架篇--Struts2.0之牛刀小试
- 二、Audio 架构
- Linux-4.9.2内核在mini2440上的移植(七)——NFS文件系统挂载