Java中的关系操作符

时间:2017-08-25 13:35:22   收藏:0   阅读:177
package object;

class Value{
	int i;
}

public class E08_StaticTest {
public static void main(String[] args) {
    Integer n1= new Integer(47);
    Integer n2= new Integer(47);
    int         n3=12;
    int         n4=12;
    System.out.println(n1==n2);//比较的是对象的引用而非对象的内容
    System.out.println(n1!=n2);
    System.out.println(n3==n4);
    System.out.println(n3!=n4);
    System.out.println(n1.equals(n2));
    
    Value n5=new Value();
    Value n6=new Value();
    n5.i=n6.i=67;
    System.out.println(n5.equals(n6));//比较的是对象的引用而非对象的内容
}
} /* Output:
false
true
true
false
true
false
*///:~

在比较基本类型时,如int,double(n3,n4)等用==,!=比较两者之间的大小;但对 new出来的对象(n1,n2)来说,必须使用equals()方法来比较两个对象之间的大小关系。

对于用户自己创建的类(n5,n6),比较大小关系时必须重载equals()方法,这是由于equals()方法的默认行为是比较引用,而非比较对象的内容。

大多数Java类库都实现了equals()方法,以便用来比较对象的内容,而非比较对象的引用。

 

原文:http://www.cnblogs.com/woaidongguagua/p/7427212.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!