给对数据库查出来的某个字段的空值进行赋值报空指针异常,怎么解决?

不能留白 2019-12-18 03:46:12
数据库用户表有:账号和密码,某个密码为空;
我用List<User> list存储用户表的数据
然后for循环找出为空的密码,并赋值,这时候就会报空指针异常;

String s="123";
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getPassword().equals(null)) {//报空指针异常
//list.get(i).getPassword()==null;这样也不行
User user= new User();
user= list.get(i);
user.setPassword(s);
}
}
...全文
866 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
不能留白 2019-12-23
  • 打赏
  • 举报
回复
连值都没有,怎么取值??
不能留白 2019-12-23
  • 打赏
  • 举报
回复
引用 14 楼 小包包007 的回复:
你都不知道我问的是什么。。。 我说的空不是你的null 是连记录都没有,连null都没有的空
小包包007 2019-12-23
  • 打赏
  • 举报
回复
不能留白 2019-12-23
  • 打赏
  • 举报
回复
引用 11 楼 小包包007 的回复:
[quote=引用 8 楼 不能留白 的回复:] [quote=引用 7 楼 小包包007 的回复:] equal?直接==null不香吗
麻烦看一下我的代码注释再回贴[/quote] 你报错是因为 null.equals(null),这样用了,肯定报错,为何不null==null?呢,,,
public static boolean isNull(String str) {
		return (null == str || "".equals(str));
	}
思考思考,,,看这代码写的绝对不会报空指针 而且如果是数据库的基本类型想判空那就取值进行装箱,再判空, 最后,,,我看了你的注释,你思考我写的了吗?[/quote] 我试过你的,不行就是不行,麻烦你试过行不行再回可以??
不能留白 2019-12-23
  • 打赏
  • 举报
回复
引用 6 楼 ARong. 的回复:
字段为空,查询出来的结果集也应该有默认值的吧,判断是不是默认值就知道是否为空了
本来就是空的,而且报空指针异常,为什么会有默认值?? 楼上的方法只能判断字符串,不能判断float或者其他类型,那该怎么解决??
不能留白 2019-12-23
  • 打赏
  • 举报
回复
引用 7 楼 小包包007 的回复:
equal?直接==null不香吗
麻烦看一下我的代码注释再回贴
BoringRong 2019-12-19
  • 打赏
  • 举报
回复
字段为空,查询出来的结果集也应该有默认值的吧,判断是不是默认值就知道是否为空了
fxxkingBeast 2019-12-18
  • 打赏
  • 举报
回复
不能判断空字符串吗?
不能留白 2019-12-18
  • 打赏
  • 举报
回复
引用 2 楼 qf_and_ni 的回复:
StringUtil.isEmpty(list.get(i).getPassword())
你打错了,是这个才对:StringUtils.isEmpty(list.get(i).getPassword()) 少了一个:s 但是还是结贴给你分
不能留白 2019-12-18
  • 打赏
  • 举报
回复
异常图片:
qf_and_ni 2019-12-18
  • 打赏
  • 举报
回复 1
StringUtil.isEmpty(list.get(i).getPassword())
不能留白 2019-12-18
  • 打赏
  • 举报
回复
百度搜了一下,貌似数据库数据为空,不能直接判断,好像是因为不占用内存和空间,无法判断为null

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧