Pha*_*e01 7 java nullpointerexception inspection android-studio
我有很多这样的电话:
(ListView) getView().findViewById(R.id.main_list_view);
(TextView) getView().findViewById(R.id.items_no);
....
Run Code Online (Sandbox Code Playgroud)
和AndroidStudio告诉我他们可能会采取以下措施NullPointerException
:
方法调用
getView().findViewById(R.id.main_list_view)
可能会产生java.lang.NullPointerException
较少的...(Ctrl + F1)此检查分析方法控制和数据流,以报告始终为真或假的可能条件,静态证明其值为常量的表达式,以及可能导致违约性合同违规的情况.
变量,方法参数和返回值标记为
@Nullable
或被@NotNull
视为可为空(或不为空),并在分析期间用于检查可空性合同,例如报告可能的NullPointerException
错误.可以使用
@Contract
注释定义更复杂的合同,例如:
@Contract("_, null -> null")
- 如果第二个参数为null@Contract("_, null -> null; _, !null -> !null")
,则方法返回null - 如果第二个参数为null ,则方法返回null,否则返回null
@Contract("true -> fail")
- 一种典型的assertFalse
方法,如果传递给它,则抛出异常可以将检查配置为使用自定义
@Nullable
@NotNull
注释(默认情况下将使用annotations.jar中的注释)
幸运的是,有作品,但是我可以对这段代码进行改进吗?
这是 android.support.v7.app.AppCompatActivity 中的一个已知问题,它已在 v24 中修复。
https://code.google.com/p/android/issues/detail?id=203345
android.support.v4.app.FragmentActivity 或 android.app.Activity 不会有任何问题
归档时间: |
|
查看次数: |
8619 次 |
最近记录: |