主题:[讨论]Object类的两个方法
Object类的两个方法
上海教育未来java培训中心网址:www.javaedu.com.cn
QQ:2535279
QQ:841403798
1.== 与 equals 方法的比较
我们已经有一个类:
public class Animal{
public float weight;
public float height;
public boolean equals(Object obj){
//判断obj是否为空
if(obj == null) return false;
//判断两个引用是否一致
if(obj == this) return true;
//判断参数是否引用了相同类型的对象
if(!(obj instanceof Animal) return false;
//类型转换
Animal a =(Animal) obj;
//判断属性值
return ((a.weight == this.weight) && (a.height == this.height));
}
}
2.equals方法
1.== 与equals方法的比较
a.== 执行相等的比较
b.equal方法未被覆盖前,是比较两个引用是否指向同一个对象,但是我们可以覆盖它,使得它可以比较两个对象的内
容.
2.覆盖了equals方法,就应该覆盖hashcode()方法.
3.toString()方法:将一个对象转换为String.当发生自动的字符串转换时,编译器调用该方法.
a = new Animal();
String str ="hello,world" + a;
就相当于---->
str = "hello,world" + a.toString();
更多java学习资料尽在网址:www.javaedu.com.cn
上海教育未来java培训中心网址:www.javaedu.com.cn
QQ:2535279
QQ:841403798
1.== 与 equals 方法的比较
我们已经有一个类:
public class Animal{
public float weight;
public float height;
public boolean equals(Object obj){
//判断obj是否为空
if(obj == null) return false;
//判断两个引用是否一致
if(obj == this) return true;
//判断参数是否引用了相同类型的对象
if(!(obj instanceof Animal) return false;
//类型转换
Animal a =(Animal) obj;
//判断属性值
return ((a.weight == this.weight) && (a.height == this.height));
}
}
2.equals方法
1.== 与equals方法的比较
a.== 执行相等的比较
b.equal方法未被覆盖前,是比较两个引用是否指向同一个对象,但是我们可以覆盖它,使得它可以比较两个对象的内
容.
2.覆盖了equals方法,就应该覆盖hashcode()方法.
3.toString()方法:将一个对象转换为String.当发生自动的字符串转换时,编译器调用该方法.
a = new Animal();
String str ="hello,world" + a;
就相当于---->
str = "hello,world" + a.toString();
更多java学习资料尽在网址:www.javaedu.com.cn