我在方法之外创建了一个 FloatingActionButton
对象,但没有给它任何值。在方法 fabInitializer
中,我通过将其引用到 XML 文件中的标记来为其赋值。
当我想使用我创建的类对象的方法时,Android Studio 说:
object.method() may produce a java null pointer exception.
程序运行良好。
如果对象值为 null
,它应该生成该消息,但事实并非如此。我该如何解决这个问题?
public void fabInitializer() {
mFab = (FloatingActionButton) findViewById(R.id.fab);
mFab.setOnClickListener(this);
}
最佳答案
这只是一个警告。 Android Studio 无法得出 mFab
不为 null 的结论(因为它可能是 various reasons )。如果您想移除警告并编写更具防御性的代码,请添加防御性空检查:
if (mFab!=null) mFab.setOnClickListener(this);
关于java - 为什么我的编译器在不应该出现 NullPointerException 的情况下出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37057100/