一般来说,==用于比较基本数据类型,equals()用于比较引用数据类型。
基本数据类型使用==比较他们的值。引用类型使用==比较他们在内存中的地址值。
引用类型使用equals(),大多重写了父类Objet中的equals()比较地址值的方法,而比较内容(例如String,Data等 )。
例如:
String s1="java";
String s2=new String("java"); //new 一个对象,在内存中重新创建了一个。
String s3="java";
结果有: s1==s2 false s1==s3 true But,
s1.equals(s2) true But,
s1==s2.intern() true
intern()这个方法是指,如果对内存中存在这个字符串,就返回该引用,不在重新new 一个。
基本数据类型:byte,short,int,long,float,double,char,boolean
引用数据类型:类,数组,接口
详见:http://www.cnblogs.com/zhxhdean/archive/2011/03/25/1995431.html |