1 package com.isoftstone.iics.bizsupport.epartner.fh;
2
3 import com.google.common.base.Objects;
4
5 /**
6 * ==和equals
7 ==
8 1、用于基本数据类型的比较
9 2、判断引用是否指向堆内存的同一块地址。
10 equals
11 判断变量是否是对同一个对象的引用,堆内对象是否相等
12
13 如果String缓冲池内不存在与其指定值相同的String对象,那么此时虚拟机将为此创建新的String对象,并存放在String缓冲池内。
14 如果String缓冲池内存在与其指定值相同的String对象,那么此时虚拟机将不为此创建新的String对象,而直接返回已存在的String对象的引用。
15
16 * <P>Description: TODO</P>
17 * @ClassName: TestEquals
18 * @author 冯浩 2017年4月11日 上午9:01:55
19 * @see TODO
20 */
21 public class TestEquals {
22
23 private static final Object TestEquals = null;
24 private String name ;
25 private String age;
26 public String getName() {
27 return name;
28 }
29
30 public void setName(String name) {
31 this.name = name;
32 }
33 public String getAge() {
34 return age;
35 }
36 public void setAge(String age) {
37 this.age = age;
38 }
39
40
41 public TestEquals(String name, String age) {
42 super();
43 this.name = name;
44 this.age = age;
45 }
46
47 @Override
48 public boolean equals(Object otherObj) {
49 if(this==otherObj)return true;
50 if(otherObj==null)return false;
51 if(getClass()!=otherObj.getClass())return false;
52 TestEquals equals=(TestEquals)otherObj;
53 return Objects.equal(name, equals.name) && Objects.equal(age, equals.age);
54 }
55
56 @Override
57 public int hashCode() {
58 return Objects.hashCode(name,age);
59 }
60
61 @Override
62 public String toString() {
63 return super.toString();
64 }
65
66
67
68
69 }