黑马程序员技术交流社区
标题:
空指针异常??
[打印本页]
作者:
小蚊子
时间:
2013-12-20 22:06
标题:
空指针异常??
本帖最后由 小蚊子 于 2013-12-20 22:24 编辑
以下代码在运行时,12行抛出了空指针异常??
1.public class Item {
2.
3. private Integer id;
4.
5. public Integer getId() {
6. return id;
7. }
8. }
9.
10. public int getInt(Item item) {
11. if (item != null) {
12. return item.getId();
13. } else {
14. return 0;
15. }
16. }
作者:
jing迪
时间:
2013-12-20 22:13
哪个是第12行。。。。怎么不把行号列出来{:soso_e115:}
作者:
yuehaotian
时间:
2013-12-20 22:26
姐们,你私有的 Integer 引用 , 貌似没有指向具体对象吧!!!
作者:
yuehaotian
时间:
2013-12-20 22:27
没有指向对象 你又怎么能调用呢!
作者:
李然
时间:
2013-12-21 06:48
问题就出在你第三行的代码。Integer 是引用数据类型,它的类型的变量必须要指向在堆内存中对象才可以进行访问,你这样写等效于private Integer id = null;,相当于这个你的变量id没有指向任何对象,所以就报了空指针的错误,你可以改成Integer id = 0或者int id = 0;或者int id;以上三个方法都是可以的,这样应该很明白了吧。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2