java中“==”本身是比较左右两侧是否相等,在基本数据类型值类型情况下,因为i数据是存放在栈中的所以存放的数据也就是一样的,等号两侧是一样的。但是当“==”两侧处理的数据是 引用类型时,因为栈中存放的是指向堆的地址,所以比较也就自然失去了意义,无法真实地反映数据内容是否相等。而相比于此,equals()方法 直接比较的是两侧数据的内容,所以适用所用的相等比较。所以建议比较是否相等,使用equals()方法更为恰当准确。