java中的数据类型,可分为两类:
1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean
基本类型的比较应用双等号(),比较的是他们的值。
2.复合数据类型(类)
当复合数据类型用()进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。 JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地 址,但在一些类库当中这个方法被重写,如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在栈内存中的存放地址了。
equals源码:
public boolean equals(Object obj) {
return (this == obj);
}