equals练习
package com.sgg.Order;
public class OrderTest {
public static void main(String[] args) {
Order order1 = new Order(1001,"AA");
Order order2 = new Order(1001,new String("BB"));
System.out.println(order1.equals(order2));
Order order3 = new Order(1001,"BB");
System.out.println(order2.equals(order3));
String s1 = "BB";
String s2 = "BB";
System.out.println(s1 == s2);
}
}
class Order {
private int orderld;
private String orderName;
public int getOrderld() {
return orderld;
}
public void setOrderld(int orderld) {
this.orderld = orderld;
}
public String getOrderName() {
return orderName;
}
public void setOrderName(String orderName) {
this.orderName = orderName;
}
public Order(int orderld, String orderName) {
super();
this.orderld = orderld;
this.orderName = orderName;
}
@Override
public boolean equals(Object obj) {
if(this == obj) {
return true;
}
if(obj instanceof Order) {
Order order = (Order)obj;
return this.orderld == order.orderld &&
this.orderName.equals(order.orderName);
}
return false;
}
}
package com.sgg.Order;
public class MyDateTest {
public static void main(String[] args) {
MyDate m1 = new MyDate(14,3,1976);
MyDate m2 = new MyDate(14,3,1976);
if(m1 == m2) {
System.out.println("m1==m2");
} else {
System.out.println("m1 != m2");
}
if(m1.equals(m2)) {
System.out.println("m1 is equal to m2");
} else {
System.out.println("m1 is not equal to m2");
}
}
}
class MyDate {
private int day;
private int month;
private int year;
public MyDate(int day, int month, int year) {
super();
this.day = day;
this.month = month;
this.year = year;
}
public int getDay() {
return day;
}
public void setDay(int day) {
this.day = day;
}
public int getMonth() {
return month;
}
public void setMonth(int month) {
this.month = month;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
@Override
public boolean equals(Object obj) {
if(this == obj) {
return true;
}
if(obj instanceof MyDate) {
MyDate myDate = (MyDate)obj;
return this.day == myDate.day && this.month == myDate.month
&& this.year == myDate.year;
}
return false;
}
}