java的数据类型分为两种
1.基本数据类型:byte、char、long、int、float、double、boolean 它们之间的比较应该使用"==",比较的是它们的值。 2.复合数据类型:class 类名 类就是复合类型。 当用"=="比较它们的时候,实际上比较的是它们在内存中的存放地址,即栈中的值。因此,只有同一个new出来的对象它们用"=="比较是true,其他的都为false。 equals()比较的是堆中的值,即比较的是内容值。如果复合数据类型之间进行equals比较,在没有覆写equals的情况下,比较的还是栈中的值,即地址值。只有覆写了hashcode与equals方法,才比较堆中的值。