equals方法比较对象内容,而不是地址,利用String类源代码。
2017-06-13 16:12
302 查看
//一直按着Ctrl,鼠标移到String这个字上,左键单击,出现源代码。
public class Fu {
private final char value[];
//String源代码复制。
public Fu() {
this.value = new char[0];
}
//String源代码复制,Fu改为你自己的类名。
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof Fu) {
Fu anotherString = (Fu) anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
//String源代码复制,Fu改为你自己类名。
public static void main(String[] args) {
Fu ee=new Fu();
Fu ff=new Fu();
System.out.println(ee.equals(ff));
//不再是Object根类里equals方法比较两对象引用地址,而是自己类里equals方法比较两对象内容。
}
}
//一直按着Ctrl,鼠标移到String这个字上,左键单击,出现源代码。
public class Fu {
private final char value[];
//String源代码复制。
public Fu() {
this.value = new char[0];
}
//String源代码复制,Fu改为你自己的类名。
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof Fu) {
Fu anotherString = (Fu) anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
//String源代码复制,Fu改为你自己类名。
public static void main(String[] args) {
Fu ee=new Fu();
Fu ff=new Fu();
System.out.println(ee.equals(ff));
//不再是Object根类里equals方法比较两对象引用地址,而是自己类里equals方法比较两对象内容。
}
}
相关文章推荐
- 深入java的equals方法,怎么比较两个对象的内容是否相等?对象的内容指的是什么?
- 比较两个对象的内容是否相等 重写object 的equals方法
- equals()方法内容对象比较时变量与比较内容所写位置比较
- 重写equals()和hashCode()方法,用于比较对象的内容
- String类的equals方法和==方法的比较 ..
- Net网络通讯编程[利用Socket实现字串、文件、序列化对象传输]--前面6篇博文全部源代码下载地址
- iOS——打印内容,NSLog自定义对象的内容如何打印出来,而不是只打印地址
- 两个对象用equals方法比较为true,它们的Hashcode值相同吗?
- java编写比较对象相等equals方法
- 如何使用==操作符,Equals方法,ReferenceEquals方法,IEquatable接口比较2个对象
- Integer类型数据比较大小问题:(Integer定义的是对象,养成使用equals方法的好习惯)
- 比较对象的时候复写equals方法
- 对象的比较及hashCode、equals方法的使用
- 对象的比较,排序,重写equals(),compareTo(),hashCode()方法
- C#使用Equals()方法比较两个对象是否相等的方法
- 单选按钮和列表框的数据加载,注意equals()方法和==的区别,一个是内容,一个是地址
- Net网络通讯编程[利用Socket实现字串、文件、序列化对象传输]--前面6篇博文全部源代码下载地址
- equals比较两个对象的内容
- 【JAVA学习】java中==、equals()、hashCode()都和对象的比较有关,在java中这三者各有什么用处呢,即java中为什么需要设计这三种对象的比较方法呢?
- Java进阶:深入equals方法对象相等比较