我有个密码:
public String getNameUpdateEvent(long id) {
Cursor mCursor =
db.rawQuery("select name from events WHERE _id=" + id + ";", null);
if (mCursor != null) {
mCursor.moveToFirst();
}
String updateNameEvent;
updateNameEvent = mCursor.getString(mCursor.getColumnIndex("name"));
return updateNameEvent;
}
我收到一个警告
Warning:(173, 45) Method invocation 'mCursor.getColumnIndex("name")' may produce 'java.lang.NullPointerException'
我怎么才能修好它?
您的光标不能null
,它将始终具有任何值。但是cursor可以是空的,所以首先应该使用moveToFirst()
方法转到cursor中的第一行,如果它返回true
-这意味着该游标至少有一行,所以您可以任意处理它,如果它返回false
-这意味着没有任何可用于查询的内容,因此您没有任何行可以从中获取数据。您的代码应该如下所示:
public String getNameUpdateEvent(long id) {
Cursor mCursor =
db.rawQuery("select name from events WHERE _id=" + id + ";", null);
String updateNameEvent = null;
if (mCursor != null && mCursor.moveToFirst()) {
updateNameEvent = mCursor.getString(mCursor.getColumnIndex("name"));
}
return updateNameEvent;
}
我正在使用改型2从我的API获得响应,并将其值存储在我的常量中,如下所示 它在下面这三个方面给了我警告 我很困惑,无法解决此警告。让我知道如果有人能帮我走出来。
我正在检查和。尽管如此,我还是在Android studio的上收到了警告。 如何避免这种警告? 我使用的是改型:2.3.0和GSON:2.8.1。我已经尝试了这个问题的解决方案(refitfit方法调用可能会产生'java.lang.NullPointerException')。但它不起作用
来自styles.xml 来自activity.java
我有很多这样的电话: AndroidStudio告诉我,他们可能会获得: -如果第二个参数为null,方法返回null-如果第二个参数为null,否则返回null -一个典型的方法,如果传递给它true将引发异常 检查可以配置为使用自定义注释(默认情况下将使用来自annotations.jar的注释) 幸运的是,everithing可以工作,但我可以对这段代码进行改进吗?
我对“关闭”我的程序的abort术语的术语和矛盾感到有点困惑,从该函数的描述来看,它说析构函数和开放资源可能分别不被调用/关闭。那么,在调用abort()之后,我的程序是否仍在运行并且存在内存泄漏或者资源仍然打开?
Android Studio非常新。使用EditText处理第一个应用程序。我想修复下面的代码行,这样就不会出现错误:我有一个方法调用'simpleditext'。getText()可能会产生java。lang.NullPointerException'错误,希望将其删除。任何建议都很好。我想这意味着我需要在获取文本之前检查SimpleEdit是否有空值? 这是与editLat关联的XML资源: