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 equals11 判断变量是否是对同一个对象的引用,堆内对象是否相等12 13 如果String缓冲池内不存在与其指定值相同的String对象,那么此时虚拟机将为此创建新的String对象,并存放在String缓冲池内。14 如果String缓冲池内存在与其指定值相同的String对象,那么此时虚拟机将不为此创建新的String对象,而直接返回已存在的String对象的引用。15 16 *Description: TODO
17 * @ClassName: TestEquals18 * @author 冯浩 2017年4月11日 上午9:01:5519 * @see TODO20 */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 @Override48 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 @Override57 public int hashCode() {58 return Objects.hashCode(name,age);59 }60 61 @Override62 public String toString() {63 return super.toString();64 }65 66 67 68 69 }