在我们创建一个具有以下类的对象后,我们肯定有一个 NullPointerException,因为成员变量 mTest 为空,
public class SettingsActivity extends PreferenceActivity {
private String mTest;
// the setter is not being called after the object is created
public void setTest(String test) {
mTest = test;
}
// ok, the activity is starting and will crash
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
mTest.replace("a", "b");
}
}
在某些活动中,
Intent intent = new Intent(this, SettingsActivity.class);
// we forgot to set the member variable...
startActivity(intent);
我们正在使用 SonarQube 和 Android Studio 来检测空指针延迟,但它们都无法检测到上述问题。有什么建议吗?我知道程序员不应该编写这些错误,但我更感兴趣的是检测它们而不是修复它们。
谢谢!