为什么会报空指针?好奇怪!
final Drawable result = mDrawables[index];
if (result != null) {
return result;
}
// Prepare future drawable if necessary.
if (mDrawableFutures != null) {
final int keyIndex = mDrawableFutures.indexOfKey(index);
if (keyIndex >= 0) {
final ConstantState cs = mDrawableFutures.valueAt(keyIndex);
final Drawable prepared = prepareDrawable(cs.newDrawable(mSourceRes));
mDrawables[index] = prepared;
mDrawableFutures.removeAt(keyIndex);//在Monkey测试时mDrawableFutures报了空指针错误,why?!
if (mDrawableFutures.size() == 0) {
mDrawableFutures = null;
}
return prepared;
}
}
return null;
}
上面是出问题的方法,有文字注释的是报空指针的地方。求大神们解释一下为什么是我写注释的那一行报了错?
相关推荐
详解Kotlin的空指针处理
主要介绍了详解Kotlin的空指针处理的相关资料,需要的朋友可以参考下
利用Java8 Optional如何避免空指针异常详解
Optional可以让你的代码具有可读性,且会避免出现空指针异常。下面这篇文章主要给大家介绍了关于利用Java8 Optional如何避免空指针异常的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
C++关于空指针的整理,全部都是自己亲身实践后所整理
C++关于空指针的整理,全部都是自己亲身实践后所整理
震惊!日志级别居然可能导致Dubbo出现空指针异常
你可能是被标题吸引过来的,但这确实是一次真实的产线事件。日志级别导致Dubbo出现空指针异常,这个是在查看源码排查问题之后,反推得到的结论。 文章所用Dubbo版本为2.6.3 问题复现 Consumer A服务依赖Provider B服务。 Consumer A先启动了,此时注册中心无B服务实现,而后Provider B启动。 两个系统均正常启动,但A服务运行时,报空指针异常,无法调用B服务: [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested excep
编写您自己的 React 版本。 为什么? 因为你能!
为什么? 当你自己动手时,你总是会学得更好! 有趣 提供一个声明:你知道 React 是什么? 你所拥有的是......一个微小的React,具有 2 个基本 API:createElement 和 RenderDOM 创建 2 个应用程序,一个静态和一个动态(意味着它可以更新/删除)使用 RenderDOM 将 2 个应用程序挂载到 DOM 上的两个不同节点渲染后的 DOM 树将如下所示: 这是我的静态应用程序 这是一个标题 Lorem ipsum dolor sat amet Say Hello 这是我的动态应用程序 这是一个动态计数器:1 Incr! 重置计数器!


