标签:实现 test put 引用 pac out output ack str
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()方法,以便用来比较对象的内容,而非比较对象的引用。
标签:实现 test put 引用 pac out output ack str
原文地址:http://www.cnblogs.com/woaidongguagua/p/7427212.html