Java中的==和equals浅见
来源:互联网 发布:网络打印服务器 编辑:程序博客网 时间:2024/06/05 08:53
Java中的数据类型可分为两类:
1.基本数据类型:byte short char int long float double boolean
他们之间的比较应用双等号(==),比较的是它们的值。
2.复合数据类型
当他们用==进行比较时,比较的是他们在内存中的存放地址。
-128到127内和Integer都是同一个对象引用
// Integer t1 = 127;
// Integer t2 = 127;
// System.out.println(t1==t2); //true调用Integer.valueOf
// System.out.println(t1.equals(t2)); //true
// Integer t1 = new Integer(127);
// Integer t2 = new Integer(127);
// System.out.println(t1==t2); //false
// System.out.println(t1.equals(t2)); //true
int t1 = 127;
Integer t2 = 127;
System.out.println(t1==t2); //true
System.out.println(t2==t1); //true
如果在比较数值时,如果有一方是基本类型,那么把另外那头拆包,比较数值。
而只有两头都是包装类型时,才比较引用。
new Integer()返回的永远是不同的对象,但当整数范围在-128到127内,Integer.valueOf返回的是同一个对象。
对于复合数据类型之间进行equals比较,在没有覆盖equals方法的情况下,他们之间的比较还是基于内存的存放地址值,因为object的equals方法是==进行比较的。
equals方法用于对象内容的比较。
Data File String 和基本数据类型的包装类重写了equals方法。
- Java中的==和equals浅见
- java中的==和equals,一劳永逸...
- Java中的==和equals区别
- Java中的==和equals区别
- java中的equals() 和 ==
- Java中的==和equals区别
- Java中的==和equals区别
- Java中的==和equals区别
- java 中的==和equals比较
- Java中的==和equals区别
- Java中的==和equals区别
- Java中的==和equals区别
- Java中的==和equals区别
- Java中的==和equals区别
- Java中的==和equals区别
- java中的==和equals区别
- Java中的==和equals区别
- Java中的==和equals区别
- signal信号捕捉
- iOS 设备的屏幕尺寸、分辨率及其屏幕边长比例详细情况是怎样的?
- 数据库还原时候被 占用的解决办法
- Java内存解析
- Object转换为String[]数组,或者其他类型的数组
- Java中的==和equals浅见
- 客户端跳转与服务器跳转
- 基于GeoServer的电子地图系统说明
- 关于创业
- Name That Number
- 代码注入的三种方法
- boost库在工作(8)引用计数的智能指针shared_ptr之一
- c# 强制类型转换遇到null值的某种处理方法。
- 屌丝逆袭 WINDOWS下用Subst隐藏你们硬盘的女神