java:equalsの例を複写する
5260 ワード
class User
{
String name;
int age;
/*
* :
*1、 , ,return ,
*2、 , 3
*a: , ,
*b: , , ;
*c: ,
*/
public boolean equals(Object obj){
//1、 ,
if(this == obj){
return true;
}
//2、
// equals, User , this User
// obj User , this
boolean b =obj instanceof User;
if(b){
/*
* ,obj User , this ( 1 )
*obj :
*User obj = new User();
*
*Object obj =new Object(); //Object User
*/
//obj User , User
User u =(User)obj;
// equals name (jdk String equals ), equals
// == , equals
if(this.age == u.age && this.name.equals(u.name)){
return true;
}else{
return false;
}
}else
{
// , user ,
return false;
}
}
}
class Test
{
public static void main(String args[]){
// : ,
User u1 = new User();
User u2 = u1;
u1.name="sss";
boolean b = u1.equals(u2);
System.out.println(b);
// : , 、 ,
User u3 = new User();
User u4 = new User();
u3.name="sss";
u4.name="sss";
boolean b2 = u3.equals(u4);
System.out.println(b2);
}
}
その他:java:Stringはequalsと=比較の違いを使います。