繁体   English   中英

为什么我的编译器本应在不应该出现NullPointerException的情况下?

[英]Why is my compiler expecting a NullPointerException when it shouldn't?

我在方法外创建了一个FloatingActionButton对象,但没有赋予它任何值。 在方法fabInitializer ,我通过引用XML文件中的标记来为其提供值。 当我想使用我创建的类对象的方法时,Android Studio会说:

object.method()可能会产生Java空指针异常。

该程序运行正常。

如果对象值为null ,则应生成该消息,但不是。 我怎样才能解决这个问题?

public void fabInitializer() {
    mFab = (FloatingActionButton) findViewById(R.id.fab);
    mFab.setOnClickListener(this);

}

这只是一个警告。 Android Studio无法得出mFab不为空的结论(因为它可能有多种原因 )。 如果要删除警告并更防御地编写代码,请添加防御性的空检查:

if (mFab!=null) mFab.setOnClickListener(this);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM