hashMap判断是否为空null失败

原始需求:从数据库取值放入集合,判断集合是否为空,不为空进方法,结果明明是空的也进方法了

在这里插入图片描述
在这里插入图片描述

原因:new出来的hashMap存在一个对象引用地址,所以就不能为null,空集合和null是有区别的

解决问题关键代码:在循环外面赋值为null,进循环后再创建对象,这样在数据库如果没有取到值就不会进入循环

public Map<String, String> findUser(String userName,String password) {
		StringBuilder sBuilder = new StringBuilder();
		sBuilder.append("select user_name,password from user where user_name='"+userName+"' and password="+password);
		ResultSet doQuery = JDBCUtil.doQuery(sBuilder);
		Map<String, String> map = null;
		try {
			while(doQuery.next()) {
				map = new HashMap<>();
				String userNameDB = doQuery.getString("user_name");
				String passwordDB = doQuery.getString("password");
				map.put("userName", userNameDB);
				map.put("password", passwordDB);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return map;
	}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值