问个java List的问题# JobHunting - 待字闺中
k*t
1 楼
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class Foo {
String name;
int number;
List friends;
public boolean equals(Object obj)
{
System.out.println(friends);
System.out.println(test.friends);
System.out.println(test.name);
System.out.println(this.name);
return number == test.number
&& (name == test.name
|| (name != null && name.equals(test.name)))
&& ((friends !=null) && friends.equals(test.friends));
}
}
public static void main(String args[])
{
Foo a = new Foo();
Foo b = new Foo();
a.number =10;
b.number = 10;
a.name = "test";
b.name = "testme";
boolean test = a.equals(b);
a.friends =new ArrayList();
b.friends =new ArrayList();
a.friends.add("Jack");
a.friends.add("Paul");
b.friends.add("Jack");
b.friends.add("Paul");
System.out.println(a.friends.equals(b.friends));
System.out.println(test);
}
想override Objects的equals 函数,但是跑了一下程序,发现调用a.equals(b)的时候
, a.friends 和b.friends的值都没有传进去。高手请指点,多谢了!
import java.util.HashMap;
import java.util.List;
public class Foo {
String name;
int number;
List
public boolean equals(Object obj)
{
System.out.println(friends);
System.out.println(test.friends);
System.out.println(test.name);
System.out.println(this.name);
return number == test.number
&& (name == test.name
|| (name != null && name.equals(test.name)))
&& ((friends !=null) && friends.equals(test.friends));
}
}
public static void main(String args[])
{
Foo a = new Foo();
Foo b = new Foo();
a.number =10;
b.number = 10;
a.name = "test";
b.name = "testme";
boolean test = a.equals(b);
a.friends =new ArrayList
b.friends =new ArrayList
a.friends.add("Jack");
a.friends.add("Paul");
b.friends.add("Jack");
b.friends.add("Paul");
System.out.println(a.friends.equals(b.friends));
System.out.println(test);
}
想override Objects的equals 函数,但是跑了一下程序,发现调用a.equals(b)的时候
, a.friends 和b.friends的值都没有传进去。高手请指点,多谢了!