Attempt to invoke interface method ‘java.lang.Object[] java.util.Collection.toArray()‘ on a null obj

本文讨论了Java编程中常见的NullPointerException,特别是尝试在空集合上调用toArray()方法时遇到的问题。作者分享了一段代码示例,强调了在使用集合前进行判空检查的重要性,以避免因网络请求延迟或赋值错误导致的程序异常。同时,提供了一个修复此问题的代码片段,并引用了相关博客文章作为参考。
摘要由CSDN通过智能技术生成

对于这个问题:Attempt to invoke interface method ‘java.lang.Object[] java.util.Collection.toArray()’ on a null object reference

很明显是集合的问题:大部分是因为集合为空null,所以使用到集合的地方最好判空,特别是网络请求给集合赋值后其他地方需要用到,所以如果网络请求慢或是赋值出错,加下来的操作肯定会出问题。

所以需要定位到你的代码中,检查使用的集合中是否没判空

以下是我的代码:

public void delete() {
            if (checkSelectedData()) return;
            showConfirmDialog(getString(R.string.tips), getString(R.string.tips_delete_selected_data), () -> {
                if (selectDataList != null) {    //之前没判空    集合selectDataList出现为空出错了
                    mViewModel.update(selectDataList, Constants.STATUS_DELETE);
                } else {
                    showShort(getString(R.string.selected_has_deleted_failed));
                }
            });
        }

看注释!!!!

之前看这一篇也是由于出现为空的状态出错的:https://blog.csdn.net/leilifengxingmw/article/details/52040606

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值