#NAME?

简介: #NAME?

==:

==是一个比较运算符,,==对比的是栈中的值,既可以判断基本类型,又可以判断引用类型,基本数据类型是变量值,引用类型是堆中内存对象的地址。

如果判断基本类型,判断的是值是否相等。示例: int i=10: double d=10.0

如果判断引用类型,判断的是地址是否相等,即判定是不是同一个对象

equals:

equals: 是Object类中的方法,Object类中默认也是采用==比较,通常会重写只能判断引用类型,默认判断的是地址是否相等,子类中往往重写该方法,用于判断内容是否相等。比如看看 Integer 和String 类的equals 源代码。

1)Object 类的 equals 源代码:

// Object equals 方法默认就是比较对象地址是否相同

// 也就是判断两个对象是不是同一个对象 .

 public boolean equals(Object obj) {

       return ( this == obj);

   }

2)String 类的 equals 源代码:

   public boolean equals(Object anObject) {

       if ( this == anObject) {

           return true;

       }

       return ( anObject instanceof String aString)

               && (! COMPACT_STRINGS || this. coder == aString. coder)

               && StringLatin1. equals( value, aString. value);

   }

3)Integer 类的 equals 源代码:

// 从源码可以看到 Integer 也重写了 Object equals 方法 ,

// 变成了判断两个值是否相同

   public boolean equals(Object obj) {

       if ( obj instanceof Integer) {

           return value == ((Integer) obj).intValue();

       }

       return false;

   }

目录
相关文章
|
2月前
|
算法 计算机视觉
OpenCV(三十七):拟合直线、三角形和圆形
OpenCV(三十七):拟合直线、三角形和圆形
73 0
|
2月前
|
算法 计算机视觉
OpenCV(四十):图像分割—漫水填充
OpenCV(四十):图像分割—漫水填充
56 0
|
2月前
|
XML Android开发 数据格式
自定义View之重写onMeasure
自定义View之重写onMeasure
19 0
|
5月前
|
存储 计算机视觉 C++
OpenCV(十四):ROI区域截取
OpenCV(十四):ROI区域截取
122 0
|
5月前
|
Java 开发工具 Android开发
OpenCV(一):Android studio jni配置OpenCV(亲测有效,保姆级)
OpenCV(一):Android studio jni配置OpenCV(亲测有效,保姆级)
171 0
|
2月前
|
算法 计算机视觉
OpenCV(四十七):RANSAC优化特征点匹配
OpenCV(四十七):RANSAC优化特征点匹配
145 0
|
2月前
|
计算机视觉
OpenCV(三十四):轮廓外接最大、最小矩形和多边形拟合
OpenCV(三十四):轮廓外接最大、最小矩形和多边形拟合
114 0
|
2月前
|
XML Java Android开发
[Android]CheckBox复选框
[Android]CheckBox复选框
60 0
|
2月前
|
计算机视觉
OpenCV(三十三):计算轮廓面积与轮廓长度
OpenCV(三十三):计算轮廓面积与轮廓长度
65 0
|
5月前
|
Android开发 Kotlin
android开发,使用kotlin学习BroadcastReceiver
android开发,使用kotlin学习BroadcastReceiver
84 0