美文网首页
java.lang.NullPointerException:

java.lang.NullPointerException:

作者: 雨来 | 来源:发表于2022-04-11 19:13 被阅读0次

    记录一个bug

    java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter item
    
    image.png
    image.png

    我们先不看返回数据:

    {
            "code":"200",
            "data":{
                "current":1,
                "hitCount":false,
                "optimizeCountSql":true,
                "orders":[],
                "pages":1,
                "records":[
                    null
                ],
                "searchCount":true,
                "size":10,
                "total":1
            },
            "msg":"成功"
        }
    

    一个列表 使用的是 BAV BaseQuickAdapter
    我们定位到 CollectionSupplyListAdapter的 13行


    image.png

    这他妈 13行是 类定义的开始啊 直接是懵逼 草草
    仔细观察日志:


    image.png
    item 但在这个适配器里哪有item啊 找到了convert方法中的参数item
    class CollectionSupplyListAdapter constructor(
        layoutId: Int,
        data: ArrayList<CollectionSupplyListBean.DataDTO.RecordsDTO>
    ) :
        BaseQuickAdapter<CollectionSupplyListBean.DataDTO.RecordsDTO, BaseViewHolder>(layoutId, data),
        LoadMoreModule {
        override fun convert(holder: BaseViewHolder, item: CollectionSupplyListBean.DataDTO.RecordsDTO) {
    
            holder.setText(R.id.tv_item_supply_list_create_time, item.pubTime)
                .setText(R.id.tv_item_supply_list_title, item.supplyTitle)
    //            .setText(R.id.tv_item_supply_type, if (item.supply_quote_type == "1") item.supply_quote else "面议")
                .setText(R.id.tv_item_supply_type, item.supplyQuoteTypeText)
                .setText(R.id.tv_item_supply_service_location, item.supplyArea)
                .setText(R.id.tv_item_supply_list_status, item.statusText)
            var businessType = holder.getView<TextView>(R.id.tv_item_supply_business_type)
    
    
            item.supplyType?.let {
    
                when (it) {
                    "1" -> {
                        businessType.text = "供给类型:法律"
                    }
                    "2" -> {
                        businessType.text = "供给类型:财税"
                    }
                    "3" -> {
                        businessType.text = "供给类型:投融资"
                    }
                    "4" -> {
                        businessType.text = "供给类型:知产综合"
                    }
                }
    
            }
    
        }
    }
    

    这个item 也就是条目的数据


    image.png

    我们找到网络请求的地方下上断点


    image.png

    再看返回数据:

    {
            "code":"200",
            "data":{
                "current":1,
                "hitCount":false,
                "optimizeCountSql":true,
                "orders":[],
                "pages":1,
                "records":[
                    null
                ],
                "searchCount":true,
                "size":10,
                "total":1
            },
            "msg":"成功"
        }
    

    json 还能这样操作:

    "records":[
                    null
                ],
    

    后台这样玩,会不会被骂娘呢? 这他妈压根不是 标准json啊,开发这么多年也是头一次遇到 浪费我快1个小时

    相关文章

      网友评论

          本文标题:java.lang.NullPointerException:

          本文链接:https://www.haomeiwen.com/subject/dahwsrtx.html