普通网友 2016-06-16 07:11 采纳率: 0%
浏览 2518
已采纳

跪求if里判断为空的写法

for (Policy policy:list) {
PolicyKey policyKey = policy.getPolicyKey();
System.out.println("policyMap"+policyMap);
System.out.println("policyKey"+policyKey);
if (policyMap.get(policyKey) == null) {
policyMap.put(policyKey, policy);
}

        代码上边所示:policyMap是if前 new的;
                                                    policyKey由(t,p,y)3个字段组成;
                                                    第一次循环if内判断为空,正常put值到map;
                                                    第二次循环policyKey中的p字段值变了,if判断竟然不是null;
        跪求大神教我 如何写if里判断为空的写法
  • 写回答

3条回答 默认 最新

  • little_how 2016-06-16 07:30
    关注

    按照你的逻辑看是没有问题的,那么问题就可能出现在一下几点
    1.policyMap中确实已经存在了值
    2.policyKey的hashCode和equals写的有问题,因为map是靠hashCode计算出hash值来确定位置,然后
    再根据equals来判断位置上是否有该值的。所以自定义的key一定要写好自己的hashCode和equals。

    如果有帮助,希望采纳
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?