import com.google.common.
base.Objects; 4 5/** 6 * ==和equals 7== 81、用于基本数据类型的比较 92、判断引用是否指向堆内存的同一块地址。 10equals 11判断变量是否是对同一个对象的引用,堆内对象是否相等 1213如果String缓冲池内不存在与其指定值相同的String对象,那么此时虚拟机将为此创建新的String对象,并存放在String缓冲池内。 14如果String缓冲池内存在与其指定值相同的String对象,那么此时虚拟机将不为此创建新的String对象,而直接返回已存在的String对象的引用。 1516 * <P>Description: TODO</P> 17 * @ClassName: TestEquals 18 * @author 冯浩 2017年4月11日 上午9:01:55 19 * @see TODO 20*/21publicclass TestEquals { 2223privatestaticfinal Object TestEquals =
null; 24private String name ; 25private String age; 26public String getName() { 27return name; 28 } 2930publicvoid setName(String name) { 31this.name =
name; 32 } 33public String getAge() { 34return age; 35 } 36publicvoid setAge(String age) { 37this.age =
age; 38 } 394041public TestEquals(String name, String age) { 42 super(); 43this.name =
name; 44this.age =
age; 45 } 4647 @Override 48public boolean equals(Object otherObj) { 49if(
this==otherObj)
returntrue; 50if(otherObj==
null)
returnfalse; 51if(getClass()!=otherObj.getClass())
returnfalse; 52TestEquals equals=
(TestEquals)otherObj; 53returnObjects.equal(name, equals.name) &&
Objects.equal(age, equals.age); 54 } 5556 @Override 57publicint hashCode() { 58return Objects.hashCode(name,age); 59 } 6061 @Override 62public String toString() { 63return super.toString(); 64 } 6566676869}
来源: http://www.bubuko.com/infodetail-2019157.html