谁知道下面这段代码什么意思吗?
publicUserBeangetUser(Stringanm,Stringpwd){Iteratorit=users.iterator();UserBeanuser;s...
public UserBean getUser(String anm,String pwd) {
Iterator it = users.iterator();
UserBean user;
synchronized(users){
while(it.hasNext()){
user = (UserBean)it.next();
if(user.equals(anm,pwd))
return user;
}
}
return null;
}
为什么我每次调用都返回null? 展开
Iterator it = users.iterator();
UserBean user;
synchronized(users){
while(it.hasNext()){
user = (UserBean)it.next();
if(user.equals(anm,pwd))
return user;
}
}
return null;
}
为什么我每次调用都返回null? 展开
展开全部
UserBean大概是个保存有用户数据的对象吧
synchronized(users){//这个并发用的,确保在读取users时里面的数据不会被更改
while(it.hasNext()){//把users里面的用户数据一条条读出来
user = (UserBean)it.next();
if(user.equals(anm,pwd))//如果有这个用户的相关信息
return user;//则返回这个用户数据的对象
}
}
之所以每次调用都返回null
1.可能里面没有这个用户
2.user.equals方法对比有问题
synchronized(users){//这个并发用的,确保在读取users时里面的数据不会被更改
while(it.hasNext()){//把users里面的用户数据一条条读出来
user = (UserBean)it.next();
if(user.equals(anm,pwd))//如果有这个用户的相关信息
return user;//则返回这个用户数据的对象
}
}
之所以每次调用都返回null
1.可能里面没有这个用户
2.user.equals方法对比有问题
更多追问追答
追问
equals方法是
public boolean equals(String uaccountNum, String upassword) {
return getAccountNum().equals(uaccountNum) && getPassword().equals(upassword);
}
追答
看来是问题1
展开全部
应该是用来判断用户名密码吧,循环users如果传入的anm,pwd都与users中的某个user符合则返回这个user,否则返回null. user.equals(anm,pwd) 关键这个equals里面怎么写的,大概会是:
public boolean equals(String anm,String pwd){
if(user.getAnm().equals(anm) && user.getPwd().equals(pwd))
return true;
else
return false;
}
public boolean equals(String anm,String pwd){
if(user.getAnm().equals(anm) && user.getPwd().equals(pwd))
return true;
else
return false;
}
追问
equals是
public boolean equals(String uaccountNum, String upassword) {
return getAccountNum().equals(uaccountNum) && getPassword().equals(upassword);
}
追答
开调试模式看咯。和变量的值情况
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么语言写的 语法有点看不懂
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询