我创建了一个equals方法.我相信我可以用两种方式做到,但java似乎并不同意.这是我知道的第一个例子.
public class HelloWorld {
public boolean equals(Object rhs){
if(this==rhs){
return true;
}else if( rhs==null || this.getClass() != rhs.getClass()){
return false;
}else{
HelloWorld tmp =(HelloWorld)rhs;
return true;
}
}
public static void main(String[] args){
HelloWorld c = new HelloWorld();
System.out.println(c.equals(null));
}
}
Run Code Online (Sandbox Code Playgroud)
这是第二个不起作用的例子.而不是返回false我得到nullpointerexception.
public class HelloWorld {
public boolean equals(Object rhs){
if(this==rhs){
return true;
}else if(this.getClass() != rhs.getClass() || rhs==null){
return false;
}else{
HelloWorld tmp =(HelloWorld)rhs;
return true;
}
}
public static void main(String[] args){
HelloWorld c = new HelloWorld(); …Run Code Online (Sandbox Code Playgroud)