1、Order类
package test3;
/**
* 〈一句话功能简述〉<br>
* 〈重写equals()方法〉
*
* @author abu
* @create 2019/7/15
* @since 1.0.0
*/
public class Order {
private int orderId;
private String orderName;
public Order(int orderId, String orderName) {
this.orderId = orderId;
this.orderName = orderName;
}
public int getOrderId() {
return orderId;
}
public void setOrderId(int orderId) {
this.orderId = orderId;
}
public String getOrderName() {
return orderName;
}
public void setOrderName(String orderName) {
this.orderName = orderName;
}
public boolean equals(Object obj){
if(this == obj){
return true;
}else if(obj instanceof Order){
Order o = (Order)obj;
return this.orderName == o.orderName && this.orderId == o.orderId;
}else {
return false;
}
}
// @Override
// public boolean equals(Object o) {
// if (this == o) return true;
// if (!(o instanceof Order)) return false;
// Order order = (Order) o;
// return getOrderId() == order.getOrderId() &&
// getOrderName().equals(order.getOrderName());
// }
}
2、MyDate类
package test3;
/**
* 〈一句话功能简述〉<br>
* 〈年月日是否相等的判断〉
*
* @author abu
* @create 2019/7/15
* @since 1.0.0
*/
public class MyDate {
private int year;
private int month;
private int day;
public MyDate(int year, int month, int day) {
this.year = year;
this.month = month;
this.day = day;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof MyDate)) return false;
MyDate myDate = (MyDate) o;
return year == myDate.year &&
month == myDate.month &&
day == myDate.day;
}
}
3、测试equals()方法类
package test3;
/**
* 〈一句话功能简述〉<br>
* 〈测试equals()方法〉
*
* @author abu
* @create 2019/7/15
* @since 1.0.0
*/
public class TestOrder {
public static void main(String[] args){
TestOrder to = new TestOrder();
Order o1 = new Order(1,"book");
Order o2 = new Order(1,"book");
Order o3 = new Order(2,"fish");
System.out.println(o1.equals(o3));
MyDate m1 = new MyDate(2000,2,2);
MyDate m2 = new MyDate(2001,2,2);
System.out.println(m1.equals(m2));
}
}