java中的数据类型分为两类:基本数据类型和复合数据类型。
基本数据类型:有八个,boolean,char,byte,short,int,long,float,double。
一般用等号做基本数据类型的比较,比较的是值。
复合数据类型:也就是基本数据类型对应的包装类,再加上String。
这类数据如果用==做比较的话,比较的是它们在内存中的存放地址,所以,如果是同一个new出来的对象,比较的结果才会是true,否则就是false。
java中object的基类中包含一个equals的方法,如果equals方法没有被覆盖,那么使用equals进行比较的时候,比较的是他们的地址,如果是equals在新类中被覆盖了,就比较的是它们的内容。
总结:如果比较基本数据类型,就只能用==;如果比较复合类型,就用equals。