在java中虽然号称抛弃了C++中不安全的指针,但其实他所有的东西你都可以理解为指针。这种情况一般发生在你使用了一个对象实例(其实是一个类指针)来调用它的成员函数,但这个实例却为null。
记住一件事:没被new过的对象如果为null。那么他的所有方法都不可用。
例如 现在有个方法是获取User对象的如getUser();
那么如果你这样用:User u= getUser();
如果getUser()返回null。那么u没被初始化。你不能用User类里的任何方法。如果用了就报java.lang.NullPointerException错误。
所以很多时候在使用一个类的方法时,都会判断下是否为null先
建议先检查一下你的SQL是不是有问题,然后看你的逻辑是不是有问题
主要有以下几种原因:
1、使用了未初始化的变量(虽然已经声明)
2、使用了未初始化的对象(虽然已经声明)
3,使用了关键字或已存在的类名作变量对象方法或类名。
一般报java.lang.NullPointerException的原因有以下几种:
1字符串变量未初始化;
2接口类型的对象没有用具体的类初始化,比如:
List lt;会报错
List lt = new ArrayList();则不会报错了
3当一个对象的值为空时,你没有判断为空的情况。
记住一件事:没被new过的对象如果为null。那么他的所有方法都不可用。
例如 现在有个方法是获取User对象的如getUser();
那么如果你这样用:User u= getUser();
如果getUser()返回null。那么u没被初始化。你不能用User类里的任何方法。如果用了就报java.lang.NullPointerException错误。
所以很多时候在使用一个类的方法时,都会判断下是否为null先