企业项目实训
DAY 03
BUG 01
(base) PS F:\DevProjects\mybatis02> f:; cd 'f:\DevProjects\mybatis02'; & 'D:\TOOLS\java\java17\bin\java.exe' '@C:\Users\Lenovo\AppData\Local\Temp\cp_5ay1pvp72er74oaw5ext0123j.argfile' 'cn.edu.neu.mybatis01.Test'
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "cn.edu.neu.po.Dept.toString()" because "this.dept" is null
at cn.edu.neu.po.Emp.toString(Emp.java:66)
at java.base/java.lang.String.valueOf(String.java:4222)
at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
at java.base/java.util.AbstractCollection.toString(AbstractCollection.java:457)
at java.base/java.lang.String.valueOf(String.java:4222)
at cn.edu.neu.po.Dept.toString(Dept.java:44)
at java.base/java.lang.String.valueOf(String.java:4222)
at java.base/java.io.PrintStream.println(PrintStream.java:1047)
at cn.edu.neu.mybatis01.Test.main(Test.java:41)
描述:
- 在调用
Dept.toString()
方法时,当前Dept
实例为NULL,无法调用
原因:
- 由于在
Emp
类中,Dept
成员变量是新加入的,所以在之前的数据库存储的对象中,该成员变量的值为NULL - 在遍历到这些对象中,调用
toString()
方法,就会报错
解决:
- 在
Emp
类的toString
方法中,加入对Dept
的判断- 如果不为空,则打印
- 如果为空,则打印
null
Enjoy Reading This Article?
Here are some more articles you might like to read next: