Null pointer access: The variable al can only be null at this location问题的解决

错误信息:Null Pointer Exception(空指针异常)

错误剖析:我从后台数据库查询得到的ArrayList al = findBySql(sql,Book.class);,然后用它再添加book空对象。运行程序时报错,浏览器报错空指针异常,eclipse显示黄色警告信息,也就是标题内容,中文翻译一下就是:“空指针入口:这变量al为空时才会出现这种情况”。所以当我们从后台数据去搜寻结果集为空的情况下,就会出现以上那种问题!

问题分析:al.add()下出现警告信息Null pointer access: The variable al can only be null at this location;刚开始是并注意到这个换色预警信号,一直想办法去处理它,通过变量替换,始终解决不掉;其实我也想到要去给它先弄个值进去,这样就不为空了,但是还是不行,不符合我的程序,那样就会更加复杂了,后来new一个ArrayList<Book>(),这样我就有对象了,也就不存在为空了,Java有时候就是这些地方挺耐磨的!往往就是一步之遥的差距,如果你不真正深刻的明白其中的原理,那是会专牛角尖的!

我获得变量ArrayList<Book> al=null,仅仅是后台数据库关于次信息为空,此时该变量仅仅在栈中,值为null,此时并没有指向对象中的任何对象,但是我却用它添加对象,这是不可能完成的。

解决方案:ArrayList fList=null改为:ArrayList<Book> fList=new ArrayList<Book>();

总结: 注意看警告信息的文字,然后结合实际Java开发编程原理。原理很重要,不要依葫芦画瓢,知其然更有利于编程的工作!!!

你可能感兴趣的:(Null,pointer,access)