A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小蚊子 中级黑马   /  2013-12-20 22:06  /  1149 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小蚊子 于 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.    }



评分

参与人数 1技术分 +1 收起 理由
FFF + 1 粗心大意的同学~~~

查看全部评分

4 个回复

倒序浏览
哪个是第12行。。。。怎么不把行号列出来{:soso_e115:}
回复 使用道具 举报
姐们,你私有的 Integer 引用 , 貌似没有指向具体对象吧!!!
回复 使用道具 举报
没有指向对象  你又怎么能调用呢!
回复 使用道具 举报
问题就出在你第三行的代码。Integer 是引用数据类型,它的类型的变量必须要指向在堆内存中对象才可以进行访问,你这样写等效于private Integer id = null;,相当于这个你的变量id没有指向任何对象,所以就报了空指针的错误,你可以改成Integer id = 0或者int id = 0;或者int id;以上三个方法都是可以的,这样应该很明白了吧。

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马