教程 > guava 教程 > 阅读:20

guava objects 类——迹忆客-ag捕鱼王app官网

objects 类提供适用于所有对象的辅助函数,例如 equalshashcode 等。


类声明

以下是 com.google.common.base.objects 类的声明

@gwtcompatible
public final class objects
   extends object

类方法

序号 方法 说明
1 static boolean equal(object a, object b) 确定两个可能为空的对象是否相等。
2 static t firstnonnull(t first, t second) 已弃用。 请改用 moreobjects.firstnonnull(t, t)。 此方法于 2016 年 6 月删除。
3 static int hashcode(object... objects) 为多个值生成哈希码。
4 static objects.tostringhelper tostringhelper(class clazz) 已弃用。 请改用 moreobjects.tostringhelper(class)。 此方法于 2016 年 6 月删除
5 static objects.tostringhelper tostringhelper(object self) 已弃用。 请改用 moreobjects.tostringhelper(object)。 此方法于 2016 年 6 月删除。
6 static objects.tostringhelper tostringhelper(string classname) 已弃用。 请改用 moreobjects.tostringhelper(string)。 此方法于 2016 年 6 月删除。

方法继承

该类继承了以下类的方法 -

  • java.lang.object

objects 类示例

c:/> guava 中使用我们选择的任何编辑器创建以下 java 程序。

guavatester.java

import com.google.common.base.objects;
public class guavatester {
   public static void main(string args[]) {
      student s1 = new student("mahesh", "parashar", 1, "vi");    
      student s2 = new student("suresh", null, 3, null);    
      
      system.out.println(s1.equals(s2));
      system.out.println(s1.hashcode());    
      system.out.println(
         objects.tostringhelper(s1)
         .add("name",s1.getfirstname() " "   s1.getlastname())
         .add("class", s1.getclassname())
         .add("roll no", s1.getrollno())
         .tostring());
   }
}
class student {
   private string firstname;
   private string lastname;
   private int rollno;
   private string classname;
   public student(string firstname, string lastname, int rollno, string classname) {
      this.firstname = firstname;
      this.lastname = lastname;
      this.rollno = rollno;
      this.classname = classname;        
   }
   @override
   public boolean equals(object object) {
      if(!(object instanceof student) || object == null) {
         return false;
      }
      student student = (student)object;
      // no need to handle null here        
      // objects.equal("test", "test") == true
      // objects.equal("test", null) == false
      // objects.equal(null, "test") == false
      // objects.equal(null, null) == true        
      return objects.equal(firstname, student.firstname)  // first name can be null
         && objects.equal(lastname, student.lastname)     // last name can be null
         && objects.equal(rollno, student.rollno)    
         && objects.equal(classname, student.classname);  // class name can be null
   }
   @override
   public int hashcode() {
      //no need to compute hashcode by self
      return objects.hashcode(classname,rollno);
   }
   
   public string getfirstname() {
      return firstname;
   }
   
   public void setfirstname(string firstname) {
      this.firstname = firstname;
   }
   
   public string getlastname() {
      return lastname;
   }
   
   public void setlastname(string lastname) {
      this.lastname = lastname;
   }
   
   public int getrollno() {
      return rollno;
   }
   
   public void setrollno(int rollno) {
      this.rollno = rollno;
   }
   
   public string getclassname() {
      return classname;
   }
   
   public void setclassname(string classname) {
      this.classname = classname;
   }
}

验证结果

使用 javac 编译器编译类,如下所示

c:\guava>javac guavatester.java

现在运行 guavatester 以查看结果。

c:\guava>java guavatester

结果如下

false
85871
student{name=mahesh parashar, class=vi, roll no=1}

查看笔记

扫码一下
查看教程更方便
网站地图