java中object.equals方法和==之间的差异

java中object.equals方法和==之间的差异,java,Java,我总是混淆对象的空行为。操作符==,测试两个对象引用变量是否引用了一个对象的完全相同的实例 方法.equals()测试被比较的两个对象是否相等,但它们不必是同一对象的完全相同的实例 示例#1: 在上述代码中i==j为真,因为i和j都引用同一个对象 示例2: 在上面的代码中,i==j为false,因为尽管它们都有值10,但它们是两个不同的对象 此外,在上面的代码中,i.equals(j)是正确的,因为尽管它们是两个不同的对象,但它们在表示相同数字10的事实上是等价的 像这样的问题还有很多 If I

我总是混淆对象的空行为。

操作符==,测试两个对象引用变量是否引用了一个对象的完全相同的实例

方法.equals()测试被比较的两个对象是否相等,但它们不必是同一对象的完全相同的实例

示例#1:

在上述代码中
i==j
为真,因为
i
j
都引用同一个对象

示例2:

在上面的代码中,
i==j
为false,因为尽管它们都有值10,但它们是两个不同的对象


此外,在上面的代码中,
i.equals(j)
是正确的,因为尽管它们是两个不同的对象,但它们在表示相同数字10的事实上是等价的

像这样的问题还有很多
If I have two reference object with different name in main class Such as:

AA aa = new AA();
AA bb = new AA();

and if i compare it using aa.equals(bb); then what it will return. 

and if i will use 

BB bb = new BB();

and i compare it using aa.equals(bb);

Then what is difference both of them
Integer i = new Integer(10);
Integer j = i;
Integer i = new Integer(10);
Integer j = new Integer(10);