Java 检查res返回的值是否为null
这是我用来检查列的值是否为null的代码Java 检查res返回的值是否为null,java,android,Java,Android,这是我用来检查列的值是否为null的代码 if(!res.getString(res.getColumnIndex(“answerquestionid”)).trim().equals(“”){ 但我明白了: java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“java.lang.String java.lang.String.trim()” 检查res返回的值是否为空的正确方法是什么 if(res.getString(res.getColumnIndex
if(!res.getString(res.getColumnIndex(“answerquestionid”)).trim().equals(“”){
但我明白了:
java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“java.lang.String java.lang.String.trim()”
检查res返回的值是否为空的正确方法是什么
if(res.getString(res.getColumnIndex("answerquestionid"))!=null){
您正在检查某个可能为null的值,该值将抛出null对象引用。若要解决此问题,必须检查
字符串
是否为null
if (res != null) {
String str = res.getString(res.getColumnIndex("answerquestionid"));
if(str != null) {
// Perform action
} else {
// String is null so recover (use placeholder, try again etc)
}
}
alternativley您可以在一个if语句中完成,但我发现上面的内容更具可读性
if (res != null) {
if( res.getString(res.getColumnIndex("answerquestionid")) != null &&
res.getString(!res.getColumnIndex("answerquestionid")).trim().equals("")) {
//Safe to use String
}
}
你有两种方法: 首先是检查res是否存在(最佳方法) 因为如果它返回0,则表示它不存在 第二种方法是检查字符串是否为null
String myRes = res.getString(myStringName);
if(myRes != null && !myRes.trim().equals("")){
//do stuff
}
您的问题是没有检查字符串
结果是否为null
希望这有帮助试试这个
if(res != null){
if(res.getString(res.getColumnIndex("answerquestionid")) != null && !res.getString(res.getColumnIndex("answerquestionid")).trim().equals(""))
//your stuff
}
if语句中的res似乎为null。请提供更多代码尝试此if(res.getString(res.getColumnIndex(“answerquestionid”)!=null&&!res.getColumnIndex(“answerquestionid”)).trim().equals(“”)@Raghavendra此代码返回错误
!res.getString(res.getColumnIndex(“answerquestionid”)。trim().等于(“”
但第一个可以,您能提供它作为答案,以便我关闭OP吗?如果res.getString(res.getColumnIndex(“answerquestionid”))本身为空?我已删除对Trim的调用,但它没有在Op的代码中引发异常。我觉得您的否决票放错了位置。如果res
本身为空怎么办?@olaranderi您可以在任何答案中提出相同的问题,但如果我包含此&&&!res.getColumnIndex(res.getColumnIndex),所有samei都会得到一个有效点错误(“回答问题ID”).trim().equals(“”
anyidea?看起来res.getString(res.getColumnIndex(“answerquestionid”))是空的,所以在访问trim()方法之前需要进行空检查
if(res != null){
if(res.getString(res.getColumnIndex("answerquestionid")) != null && !res.getString(res.getColumnIndex("answerquestionid")).trim().equals(""))
//your stuff
}