4.equals()和==
简单理解就是:==比较的是对像是否相等(包括值和引用),或者基本类型的值是否相等。
equals()比较的是对象的值是否相等。(基本类型是没有这个方法的)
==:
1.一般是用来比较基本的数据类型,只要值相等,就是true.
2.比较应用类型,即使值相等,对象不同,地址不同,也是false
equals():
1.是用来比较对象的内存地址,即使值相同,对象不同,地址不同,也是false
2.一些特殊的应用类型,如String,Integer,Date在这些类中重写了equals()方法,只要内容相同,即使地址不同,对象不同,也是相等的。(另外要注意Integer这种封装类,在[-127,128]之外的数就会自动装箱)
你的日积月累迟早会成为别人的望尘莫及。