日期:2014-05-19  浏览次数:20723 次

调用类的get方法报空指针异常
try {
if(studentInfo.getMemberInfo().getListenCourseCardCount()>0)
{
memberInfoDAO.update("update MemberInfo set listenCourseCardCount=listenCourseCardCount-1 where memberId=?",new Object[]{studentInfo.getMemberInfo().getMemberId()});
}
memberInfoDAO.update("update MemberInfo set listenCourseCardCountUsed=listenCourseCardCountUsed+1 where memberId=?",new Object[]{studentInfo.getMemberInfo().getMemberId()});

  } catch (Exception e) {System.out.println("改变听课证数量错误");}


下面这句 包空指针
if(studentInfo.getMemberInfo().getListenCourseCardCount()>0)

新手菜鸟 求 大牛们给提示啊!!!!

------解决方案--------------------
Java code

if(studentInfo.getMemberInfo() != null && 
studentInfo.getMemberInfo().getListenCourseCardCount()>0)

------解决方案--------------------
可以
if(studentInfo.getMemberInfo() != null && 
studentInfo.getMemberInfo().getListenCourseCardCount()>0)

但是一般都是返回 空的集合 而不是null
------解决方案--------------------
自己调试一下试试,

无非
studentInfo == null // 很可能

或者
studentInfo.getMemberInfo() == null // 有点可能

或者
studentInfo.getMemberInfo().getListenCourseCardCount() // 可能性很小

这3种情况。。。

------解决方案--------------------
程序那里报错。已经告诉你了。 你要试着看看是哪个对象有问题。逐个排除。。