==与equals的区别案例
来源:互联网 发布:怎么淘宝客推广 编辑:程序博客网 时间:2024/06/05 21:15
1.先重写equlas方法
package www.csdn.net.dengyu;
public class Student {
public String cardId;
@Override
public boolean equals(Object obj) {
// 1.先判断是否为null
if (obj == null) {
return false;
}
// 2.判断obj是否是当前类的类型
if (obj instanceof Student) {
// 3.强制造型
Student stu = (Student) obj;
// 4.改变比较条件
if (this.cardId.equals(stu.cardId)) {
return true;
}
}
return false;
}
}
2.测试看结果根据代码分析
package www.csdn.net.dengyu;
import java.util.HashSet;
import java.util.Set;
public class TestEquals {
public static void main(String[] args) {
//why? //answer
Student s1 = new Student();
s1.cardId="xxxx01";
Student s2 = new Student();
s2.cardId="xxxx01";
System.out.println(s1==s2);// hashCode;
System.out.println(s1.equals(s2));//true
//set不允许重复值
Set<Student> stus = new HashSet<Student>();
stus.add(s1);
stus.add(s2);
System.out.println(stus.size());
String str1 = new String("hello");
String str2 = new String("hello");
System.out.println(str1==str2);
System.out.println(str1.equals(str2));//true
}
}
理解==与equals的区别
equals是可以重写的方法,可以自定义两个对象是否相等;
而==则是指两个对象在内存块中的二进制值是否相等。equals是比较的内容,==是比较的地址。
- ==与equals的区别案例
- 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()"的区别
- linux C语言 getpagesize获得页内存大小
- tomcat 布署
- php 绘图技术
- OpenCV 3.3 习题解答
- 13/9/5 组队赛
- ==与equals的区别案例
- make install hdf5-vfd的库时失败问题
- C#中如何实现左截取和右截取字符串
- Css 选择器
- oracle查看死锁和处理方法
- IT 认证考试--软考--(中级项目)嵌入式系统设计师1:嵌入式系统设计师介绍
- E7
- C++中指针与引用的区别
- P95 程序完善 answer