String st=rs.getString(i);
if(st.equals("null")){
st="";
}
这段代码里面if的判断条件为什么会报空指针异常?
当st为空时,st.equals("null")就报空指针异常了啊,可以改为"null".equals(st)
补充下是resultset数据库查询是的结果集
看一眼 getString(i)这个函数,没有数据返回时是返回null还是"",还是"null"。
如果是null,应该是st==null的判断,如果是""和"null",用st.equals()判断
你需要这样比较("null").equals.st。
因为st可能是空值。
额,你是没搞明白空串和null的区别吧,判断是否为空用a.equals(""),判断是否存在用a==null。更严谨的写的话,你如果想对一个对象操作,应该先判断是否存在,再判断是否为空,懂了没?
当st==null的时候会报空指针异常,你是不是应该使用st==null来当判断条件?st.equals("null")返回true时,st并不是null,而是一个null字符串。
st是null的时候就会报空指针异常,因为你st是null的的时候,你用st跟其他东西比较,肯定就会报空指针异常了。
还有 一般严谨一点的话会先判断st是不是null,不为null再用st进行比较