重写Equals方法
来源:互联网 发布:网络渗透软件 编辑:程序博客网 时间:2024/05/01 20:54
class Cat{
int color;
int weight,height;
public Cat(int c,int w,int h){
this.color=c;
this.height=h;
this.weight=w;
}
public boolean equals(Object obj)
{
if(obj==null)
{
return false;
}
else
{
if(obj instanceof Cat)
{
Cat c=(Cat)obj;
if(c.color==this.color && c.weight == this.weight && c.height==this.height)
{
return true;
}
}
}
return false;
}
//public String toString(){
// return "cat1 --> color is "+this.color;
//}
}
public class A {
public static void main (String [] args)
{
Cat cat1=new Cat(1,2,3);
Cat cat2=new Cat(1,2,3);
Cat cat3=new Cat(1,2,6);
System.out.println(cat1==cat2); //表示内存要相同
System.out.println(cat1.equals(cat2)); // 默认使用Object的equals的方法
//而在Object中equals 方法也是比较是否内存地址相同(==),
//所以如果不重写equals方法,结果仍然为false
System.out.println(cat1.equals(cat3));
//String 类中equals方法
String str1=new String("majianjie");
String str2=new String("majianjie");
System.out.println(str1==str2); //false
System.out.println(str1.equals(str2)); //true 因为String中已经重写了Object中的equals方法
//toString 方法
System.out.println(cat1); //默认调用Object 中的toString方法 : 类名+@+hashcode
System.out.println(cat1); //重写Object中的toString方法
}
}
int color;
int weight,height;
public Cat(int c,int w,int h){
this.color=c;
this.height=h;
this.weight=w;
}
public boolean equals(Object obj)
{
if(obj==null)
{
return false;
}
else
{
if(obj instanceof Cat)
{
Cat c=(Cat)obj;
if(c.color==this.color && c.weight == this.weight && c.height==this.height)
{
return true;
}
}
}
return false;
}
//public String toString(){
// return "cat1 --> color is "+this.color;
//}
}
public class A {
public static void main (String [] args)
{
Cat cat1=new Cat(1,2,3);
Cat cat2=new Cat(1,2,3);
Cat cat3=new Cat(1,2,6);
System.out.println(cat1==cat2); //表示内存要相同
System.out.println(cat1.equals(cat2)); // 默认使用Object的equals的方法
//而在Object中equals 方法也是比较是否内存地址相同(==),
//所以如果不重写equals方法,结果仍然为false
System.out.println(cat1.equals(cat3));
//String 类中equals方法
String str1=new String("majianjie");
String str2=new String("majianjie");
System.out.println(str1==str2); //false
System.out.println(str1.equals(str2)); //true 因为String中已经重写了Object中的equals方法
//toString 方法
System.out.println(cat1); //默认调用Object 中的toString方法 : 类名+@+hashcode
System.out.println(cat1); //重写Object中的toString方法
}
}
0 0
- 重写equals方法时都要重写equals方法
- 重写equals()方法
- 重写equals()方法
- JAVA重写equals方法
- JAVA重写equals方法
- 重写Equals()方法
- equals方法重写
- 重写 equals 方法
- java 重写equals方法
- 重写equals()方法简介
- 重写equals方法
- 重写equals方法
- 重写equals方法
- 重写equals方法
- 怎么样重写equals方法
- 重写Equals方法
- 重写equals方法
- 重写equals方法
- 什么是无纺布?无纺布有什么用途?什么是不织布?
- Map的应用(节省空间和时间)
- const int function(const int a,const int b) const的意义
- 冬季热车的注意事项
- 解决隐式声明与内建函数不兼容问题
- 重写Equals方法
- 动态绑定(多态)
- 接口的简单应用
- 黑马程序员_JAVA学习笔记12
- SqlParameter[]写法
- 增强版for循环
- 重写hashCode方法
- ASP.NET MVC4+ORACLE+EF+EXTJS4.2.1开发
- android跨进程通信(IPC):使用AIDL