Map的isEmpty()与==null的区别

本文详细解析了Java中Map的isEmpty()方法与==null操作的区别,通过实例展示了它们分别用于判断Map对象是否有内容及是否为空的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Map的isEmpty()与==null的区别

  • isEmpty()方法判断Map是否有内容(即new分配空间后是否put键值对),若没有内容则true,否则false
  • == null是判断map是否为null(即是否new分配空间,和其中的键值对没关系),若没有内容则true,否则false

例如:

1 Map map = new HashMap<String ,String>();
2 System.out.println("判断map是否有内容:"+map.isEmpty());//返回true
3 System.out.println("判断map是否为null:"+map==null);//返回false
1  Map map = new HashMap<String ,String>();
2  map=null;
3  System.out.println("判断map是否为null:"+(map==null));//结果为true
4  System.out.println("判断map是否有内容:"+map.isEmpty());//NullPointerException
1 Map map = new HashMap<String ,String>();
2 map.put(null,null);
3 System.out.println("判断map是否为null:"+(map==null));//false
4 System.out.println("判断map是否有内容:"+map.isEmpty());//false
/** * 验证单个Map中是否包含有效的signDate * @param map 待检查的Map * @return true表示有效,false无效 */ private boolean isValidSignDate(Map<String, Object> map) { if (map == null) { return false; } if (!map.containsKey("signDate")) { return false; } Object value = map.get("signDate"); if (value == null) { return false; } if (value instanceof String) { // 字符串类型,去除首尾空格后检查是否为空 return !((String) value).trim().isEmpty(); } else { return false; } } /** * 验证单个Map中是否包含有效的contractNum * @param map 待检查的Map * @return true表示有效,false无效 */ private boolean isValidContractNum(Map<String, Object> map) { if (map == null) { return false; } if (!map.containsKey("contractNum")) { return false; } Object value = map.get("contractNum"); if (value == null) { return false; } if (value instanceof String) { // 字符串类型,去除首尾空格后检查是否为空 return !((String) value).trim().isEmpty(); } else { return false; } } /** * 验证单个Map中是否包含有效的itemName * @param map 待检查的Map * @return true表示有效,false无效 */ private boolean isValidItemName(Map<String, Object> map) { if (map == null) { return false; } if (!map.containsKey("itemName")) { return false; } Object value = map.get("itemName"); if (value == null) { return false; } if (value instanceof String) { // 字符串类型,去除首尾空格后检查是否为空 return !((String) value).trim().isEmpty(); } else { return false; } } /** * 验证单个Map中是否包含有效的itemName * @param map 待检查的Map * @return true表示有效,false无效 */ private boolean isValidAmount(Map<String, Object> map) { if (map == null) { return false; } if (!map.containsKey("amount")) { return false; } Object value = map.get("amount"); if (value == null) { return false; } if (value instanceof String) { // 字符串类型,去除首尾空格后检查是否为空 return !((String) value).trim().isEmpty(); } else { return false; } }四个方法合成一个方法
07-27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值