6. equals与==的区别。

对于这个问题,首先我们要知道这两个操作各自代表着什么意思。

==操作符:

对于这个大多数更多常用于原生类型和对象。
   原生类比如有boolean,int,float等基本数据类型,很好比较。
   对象就需要注意的是,我们使用==进行比较时,不是比较对象的值,而是两个对象引用是否相同,有时候,也可以理解为比较两个对象的引用地址是否相同,相同则会返回true,不同返回false。

equals方法:

equals()方法定义在Object类里面,根据具体的情况来定义该方法。用于检查两个对象的相等性。默认的equals与CompareTo保持一致。


至于两个的区别:
 我们这么理解是最好的:
举个例:有两个长的一模一样的人,我们只能说他们长的相同(equals),但是不能说是同一个人。只有从头到尾甚至身份是一个人才算是==。
6. equals与==的区别。
 ==是比较两个变量或者实例指向同一个内存空间地址是否相等。(对内存地址,对引用进行比较)
 equals是比较两个变量或者实例指向的同一内存空间的值是否相等(对对象值的内容,字符串的值进行比较)


首先在基本变量中,只存在==操作比较,因为不可能会有int.equlas这种方法进行比较,所有的基本值变量都是直接存在堆栈中的,直接用==可以比较地址。
但是如果开始使用引用值变量时,就需要辨别两种操作各自比较代表的含义了。在Objecet中的equals中,默认的就是==操作,所以在很多类中,我们都需要重写equals方法。最好的例子就是String类中,equals方法就是当两个字符串中的值相等,就返回true.