equals

 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 }
原文地址:https://www.cnblogs.com/nihaofenghao/p/6691947.html