[b]equals和==的区别[/b]
1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。
2.复合数据类型(类) ,当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。
3.JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地址,但在一些类库当中这个方法被覆盖掉了,
如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了(是比较值了)。
参考原文:[url]http://www.cnblogs.com/zhxhdean/archive/2011/03/25/1995431.html[/url]
1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。
2.复合数据类型(类) ,当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。
3.JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地址,但在一些类库当中这个方法被覆盖掉了,
如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了(是比较值了)。
参考原文:[url]http://www.cnblogs.com/zhxhdean/archive/2011/03/25/1995431.html[/url]