String values are compared using '==',not equals()

安卓小白在模拟登录的时候,发现无论用户名和密码是否正确,结果都是“ 您的打开方式有误,请重新尝试!”。在检查的时候发现了一对发黄的’==’,鼠标搬到= =的位置,就出现了那句话,如图所示:
String values are compared using '==',not equals()_第1张图片
意思大概就是说,代码使用‘ ==’来比较字符串的值,而不是equals()

所以不太聪明的我立马将代码改成:

if(username.equals(us) && password.equals(pw)){
	xxxx
}

String values are compared using '==',not equals()_第2张图片
运行一遍,O的K。

也就是说在Java中比较两个String对象的值,我们要用equals(),而不能用==(因为它比较的是两个对象的引用地址,即内存地址是否相同);而对于基本数据类型,如byte、short、int等,==比较的就是它们的值了。

(可以去查看java.lang.String中equals()的定义就会明白啦)

你可能感兴趣的:(String values are compared using '==',not equals())