public class Test2
{
public static void main(String[] args)
{
Person p1 = new Person(10);
Person p2 = new Person(10);
System.out.println(p1.age==p2.age);// 结果是true,如果(p1=p2)结果是false,因为p1和p2是两个对象的地址,
不可能相等,而p1.age和p2.age是不同地址上得数据,都是10.
}
class Person
{
int age;
Person(int age)
{
this.age = age;
}
}
作者: 李菁 时间: 2012-7-24 22:17
public class Test2 {
public static void main(String[] args) {
bbb b1=new bbb(10);
bbb b2=new bbb(10);
b1=b2; 把b2的值赋给b1,比较结果为true。如果不赋值,则为false
System.out.println(b1.equals(b2));
}
}作者: 蔡建荣 时间: 2012-7-24 22:19
孙建飞 发表于 2012-7-24 21:48
01.public class Test2 {
02.public static void main(String[] args) {
赞! 这个想法比较吊作者: 刘海源 时间: 2012-7-24 22:23
class ArrayDemo
{
public static void main(String[] args)
{
Person p1 = new Person(10);
Person p2 = new Person(10);
System.out.println(p1.equals(p2));
//这里重写了equals方法,两个对象比较的是元素的值是否相等,所以为true
System.out.println(p1==p2);
//这里比较的是两个对象的地址值,因为都是new的对象,所以分配的空间不一样,自然地址值就不一样了,就是false
}
}
class Person {
int age;
Person(int age) {
this.age = age;
}
public int getAge()
{
return age;
}
public boolean equals(Object obj)
{
Person p=(Person)obj;
return this.age == p.age;
}
} 作者: 刘海源 时间: 2012-7-24 22:25
打印结果: