Guava - Objects Class


Objects class provides helper functions applicable to all objects such as equals, hashCode, etc.

Class Declaration

Following is the declaration for class −

public final class Objects
   extends Object

Class Methods

Sr.No Method & Description

static boolean equal(Object a, Object b)

Determines whether two possibly-null objects are equal.


static <T> T firstNonNull(T first, T second)

Deprecated. Use MoreObjects.firstNonNull(T, T) instead. This method is scheduled for removal in June 2016.


static int hashCode(Object... objects)

Generates a hash code for multiple values.


static Objects.ToStringHelper toStringHelper(Class<?> clazz)

Deprecated. Use MoreObjects.toStringHelper(Class) instead. This method is scheduled for removal in June 2016


static Objects.ToStringHelper toStringHelper(Object self)

Deprecated. Use MoreObjects.toStringHelper(Object) instead. This method is scheduled for removal in June 2016.


static Objects.ToStringHelper toStringHelper(String className)

Deprecated. Use MoreObjects.toStringHelper(String) instead. This method is scheduled for removal in June 2016.

Methods Inherited

This class inherits methods from the following class −

  • java.lang.Object

Example of Objects Class

Create the following java program using any editor of your choice in say C:/> Guava.


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);	
         .add("Name",s1.getFirstName()+" " + s1.getLastName())
         .add("Class", s1.getClassName())
         .add("Roll No", s1.getRollNo())

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;		

   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

   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;

Verify the Result

Compile the class using javac compiler as follows −


Now run the GuavaTester to see the result.

C:\Guava>java GuavaTester

See the result.

Student{Name=Mahesh Parashar, Class=VI, Roll No=1}