== 与 equals的区别
来源:互联网 发布:matlab向量组成矩阵 编辑:程序博客网 时间:2024/06/14 15:01
==与equals都是比较两个变量得到true或false。
在进行比较时,先说说内存,内存分为堆和栈。基本数据类型中,是把值存在栈中,把值传递给变量,这种传递叫值传递。引用数据类型中,是在栈中存地址,堆中存的new的对象,给变量赋值传递时,传的是地址,这种传递叫引用传递。
基本数据类型:
int a = 1; int b = 1; int c = new Integer(1); int d = new Integer(1);
a == b; a == c; c == d;
因为这几个变量都是基本数据类型,所以用"=="比较,都会得到true。
引用数据类型:
String a = "a"; String b = "a"; String c = new String("a"); String d = new String("a");
a == b; a == c; c == d;
a.equals(b); a.equals(c); c.equals(d);
因为这几个变量都是引用数据类型,如果用"==",比较的是这几个变量存在栈中的地址,不同的变量,栈中的地址永远是不同的,所以"=="都会得到false;而equals比较的是变量存在堆中的值,所以equals都会得到true。
- equals与==,equals与hashcode的区别
- equals(Object) 与 == 的区别
- ==与equals的区别
- equals(Object) 与 == 的区别
- equals()与==的区别
- ==与equals()的区别
- equals与==的区别
- Java ==与equals()的区别
- equals(Object) 与 == 的区别
- ==与equals()的区别
- == 与 equals() 的区别
- equals(Object)与==的区别
- c# equals与==的区别
- equals()方法与==的区别
- ==与equals的区别
- c# equals与==的区别
- "=="与"equals()"的区别
- java equals与== 的区别
- this 指针
- poj 1019Number Sequence(数学 巧妙~~~)
- wpf 颜色渐变的圆
- java特性之自动拆装箱
- Map、Set、List部分总结
- == 与 equals的区别
- php中self 、parent的用法
- 2016多校训练Contest10: 1002 Hard problem hdu5858
- tableViewCell的依次插入动画
- 安装Hadoop及Spark for Ubuntu 16.04
- UVA 10285 Longest Run on a Snowboard
- HDOJ 1875 畅通工程再续(最小生成树)
- CCF 游戏
- 用字符数组输出特定汉字