这种加粗样式是出问题的语法
public boolean isLogin(String username, String password) {
boolean flag = false;
for(User x : array){
***if((x.getName()==(username)) && (x.getPassworld()==(password)))***{
flag = true;
}
}
return flag;
}
for循环体中的判断语句修改为if (x.getUsername().equals(username)&& x.getPassword().equals(password))可正常对字符串的值进行判断.
原因:Java中,使用"==“比较字符串时,判断的是两个字符串是否存放在相同的位置。如果两个字符串存放在相同的位置,那么它们就是相同的,使用”=="比较的结果也就是True。但Java虚拟机并不总是使两个相同的字符串共享一个位置,它可能会存放多个相同的拷贝在不同的位置。
结论:Java中比较字符串值相同,使用equals语法,==判断的是字符串存储的地址值.新手使用equals语法就好了.