一个一直报错空指针异常的对比内容是否相同的代码块怎么改呀😭😭
public static User getUserByLoginName(String loginName)
{
for (User user : ALL_USER) {
if(user.getLoginName().equals(loginName))
{
return user;
}
}
return null;
// for (int i = 0; i < ALL_USER.size(); i++) {
// User user=ALL_USER.get(i);
// if(user.getLoginName().equals(LoginName))
// return user;
// }
// return null;
}
用了两种方法
if(user.getLoginName().equals(LoginName)
一直报错空指针异常是为什么呀😭😭
改成这样:
public static User getUserByLoginName(String loginName) {
if ( null != ALL_USER && !ALL_USER.isEmpty()) {
for (User user : ALL_USER) {
if(null != user && null != user.getLoginName() && user.getLoginName().equals(loginName)){
return user;
}
}
}
return null;
}
有两个原因,一是ALL_USER为null,二是程序添加到ALL_USER的User对象为null,可以在使用这两种对象之前判断它们是否为null,根据判断结果进行不同的操作。
如可以在遍历ALL_USER之前, 判断ALL_USER是否为null,为null则返回null,不为null则使用循环遍历ALL_USER,寻找和loginName相同的内容的user。