定义了两个字符串时判断它两相等就能得到密码正确
可是用==比较时一直报错
而用equals()就可以解决了
查了不少博文发现可能是下面这个原因比较好理解(对我来说)
使用 == 比较
Java中的8种基本数据类型(byte,short,char,int,long,float,double,boolean)比较他们之间的值是否相等。
引用数据类型,比较的是他们在堆内存地址是否相等。每新new一个引用类型的对象,会重新分配堆内存空间,使用==比较返回false。
根据Java数据类型的学习之后:很显然string不是基本数据类型,而是属于引用数据类型。
所以比较的只是他们的堆内存地址是否相同
而equal()在引用数据类型中可以比较他们的内容是否相同。
equals()的用法:
username.equals(correctname)
字符串名.equals(另一个字符串名)
使用equals()这样就很容易解决字符串内容相等的问题