扫码一下
查看教程更方便
objects
类提供适用于所有对象的辅助函数,例如 equals、hashcode 等。
以下是 com.google.common.base.objects
类的声明
@gwtcompatible
public final class objects
extends object
序号 | 方法 | 说明 |
---|---|---|
1 | static boolean equal(object a, object b) | 确定两个可能为空的对象是否相等。 |
2 | static |
已弃用。 请改用 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 月删除。 |
该类继承了以下类的方法 -
在 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}