关于equals与"=="的区别
来源:互联网 发布:新版淘宝联盟自己买 编辑:程序博客网 时间:2024/05/17 00:19
首先==与equals的比较场景不一样,需要分2种情况:
1.对于基本数据类型
int a1=57;
int a2=67;
int a3=124;
int a4=124;
// == 用于判断2个变量的值是否相等
a1==a2;//false
a3==a4;//ture
// equals不能用于基本数据类型的判断,需要对基本数据类型进行包装
Integer b1= new Integer(a1);
Integer b2= new Integer(a2);
Integer b3= new Integer(a3);
Integer b4= new Integer(a4);
b1.equals(b2);//false
b3.equals(b4);//true
--------------------------
2.对于对象变量
String st1="wasiker ";
String st2="is super man";
String st3="wasiker is super man";
String st4="wasiker is super man";
//因为对象变量存储的是对象在内存中的地址,因此用"=="比较时,比较的是内存地址而不是2个变量引用的对象值.
//equals用于比较两个对象值是否相等.
//因此==用于比较堆内存中存放对象的地址是否相等,equals用于比较2个对象的值是否相等.
注:Object类中的equals方法和“==”是一样的,没有区别,而String类,Integer类等等一些类,是重写了equals方法,才使得equals和“==不同”,所以,当自己创建类时,自动继承了Object的equals方法,要想实现不同的等于比较,必须重写equals方法。
- 关于equals与"=="的区别
- java学习笔记:关于==与equals的区别
- Java 关于 equals与操作符==的区别
- 关于==与equals()区别
- equals与==,equals与hashcode的区别
- 关于“==”和“equals”的区别
- 关于Equals 和== 的区别
- 关于==和equals的区别
- 关于Equals 和== 的区别
- 关于adapter.notifyDataSetChanged()、layout_below与layout_alignBottom的区别、==与.equals区别等问题
- java关于equals与==号的区别以及与hashCode的关系
- equals(Object) 与 == 的区别
- ==与equals的区别
- equals(Object) 与 == 的区别
- equals()与==的区别
- ==与equals()的区别
- equals与==的区别
- Java ==与equals()的区别
- React 入门实例教程
- javascript 返回页面
- List与Array转换
- c#交叉数组,多维数组
- `这个符号在mysql中的作用
- 关于equals与"=="的区别
- Yii CGridView CButtonColumn, ajax 自定义按钮之三
- BLE 广播报文解析
- iOS巅峰之开发过程中的小知识点大全
- DialogFragment
- 反向传播算法
- 笔记
- Dynamics CRM Ribbon WorkBench 当ValueRule的值为空时的设置
- Yii 1.1: Using CButtonColumn to customize buttons in CGridView Follow @yiiframework