Guava Objects类的使用方式【Guava学习笔记】

来源:互联网 发布:python 随机整数 编辑:程序博客网 时间:2024/06/05 12:44
package com.lwl.guava.Objects;import com.google.common.base.Objects;/** * Objects类提供适用于所有对象,如equals, hashCode等辅助函数 * 说实话,这个类没什么卵用 * */public class UserObjects {public static void main(String[] args) {UserObjects u1 = new UserObjects("jack", "男", 22);UserObjects u2 = new UserObjects("jack", "男", 22);//确定两个可能是空的对象是否相等。boolean flag = Objects.equal(u1, u2);System.out.println("这2个值是否相同:"+flag);//不推荐使用。使用MoreObjects.firstNonNull(T,T)来代替。定于2016年6月去除该方法。//其实这个方法的意思就是如果第一个值是空值,那么取第二个值,如果第二个值也是空值,则报空指针错误UserObjects u3 = Objects.firstNonNull(u1, u2);//生成多个值的哈希码。//后台是通过数组的方式获取hashCode//int hashCode = Objects.hashCode(u1,u2);System.out.println(u1.hashCode());System.out.println(Objects.hashCode(u1));System.out.println(u2.hashCode());System.out.println(Objects.hashCode(u2));System.out.println(Objects.hashCode(u1,u2));System.out.println(u1.hashCode()+u2.hashCode());//不推荐使用。使用MoreObjects.toStringHelper(Object)来代替。定于2016年6月去除该方法。/** *  toStringHelper(Class<?> clazz) *  toStringHelper(Object self) *  toStringHelper(String className) *///其实没什么卵用,还不如自己重写toString()方法//但是等你使用第三方架包的时候,你想打印日志输出该对象中的信息,可以尝试这种方式String toStr = Objects.toStringHelper(u3).add("name", "jack").add("age", 11).toString();System.out.println(toStr);}private String name;private String sex;private int age;public UserObjects(){}public UserObjects(String name,String sex,int age){this.name = name;this.sex = sex;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}


其实这个类真的没什么卵用,而且toStringHelper()也已经被移除掉以后,附上该类对应的方法