空指针异常

1.publicclassBoxer1{2.Integeri;3.intx;4.publicBoxer1(inty){5.x=i+y;6.System.out.print... 1. public class Boxer1{
2. Integer i;
3. int x;
4. public Boxer1(int y) {
5. x = i+y;
6. System.out.println(x);
7. }

8. public static void main(String[] args) {
9. new Boxer1(new Integer(4));
10. }
11. }

我想,运行时第5行会报错,可是为什么是空指针异常?
Integer i 没有初始化,值为null造成错误,

空指针异常解释应该是,空值调用方法时,返回空指针异常,
可题目中,只是值为空,却参加了运算,
是调用了自动拆箱方法么?
晕倒,大家不确定,就乱答,做程序员要务实,以事实说话,怎么信口开河
程序,我当然run过,报的是运行错误,

我把分给四楼的哥们儿,enolong ,我也觉得应该是拆箱时造成的抛出异常。

最后,谢谢大家~
展开
 我来答
小旭聊职场
高粉答主

2021-09-27 · 我是一个职场小达人,对职场领域非常了解。
小旭聊职场
采纳数:406 获赞数:21907

向TA提问 私信TA
展开全部

空指针异常就是一个指针是空指针,你还要去操作它,既然它指向的是空对象,它就不能使用这个对象的方法;比如上面的s假如为null,你还要用s的方法。

空指针正常工作意义:

在许多语言,这不是一个单独的转义序列,而是八进制转义序列,单个八进制数字为0;因此,‘\0’不能跟随任何数字0通过7;否则它被解释为更长的八进制转义序列的开始。被在使用中发现各种语言的其他转义序列\000,\x00,\z,或的Unicode表示\u0000。

表示空字符的能力并不总是意味着生成的字符串将被正确解释,因为许多程序将认为null作为字符串的结尾。因此,键入它的能力(在未经检查的用户输入的情况下)会创建一个称为空字节注入的漏洞,并可能导致安全漏洞。

空字符以逗号表示是^@。在Windows上,可以通过按住Ctrl键,然后按@(这通常需要同时按下⇧Shift并按下数字2键)。

enolong
2012-04-20 · TA获得超过1174个赞
知道小有建树答主
回答量:590
采纳率:100%
帮助的人:374万
展开全部
你已经揭示了错误的原因了啊:空指针异常解释应该是,空值调用方法时,返回空指针异常,

你的第五行 i 的值是null,而且参加了第五行表达式的运算,根据装箱和拆箱的逻辑,第五行代码等价于:
x = (i+y).intValue();
而i.intValue();就直接导致了空指针异常,一个null的对象怎么可能去intValue();
所以肯定会错啊。

这里的确涉及到自动拆箱的思想。

祝你好运

希望能够帮到你
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
魍魉MIC
2012-04-20 · TA获得超过287个赞
知道小有建树答主
回答量:443
采纳率:0%
帮助的人:273万
展开全部
恩。。你都说了呀。。。
integer 的异常呀。。
integer是一个封装类。。需要初始化的。。和int不同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈静19901029
2012-04-20 · 超过13用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:45.9万
展开全部
第二行 Integer 是引用类型的 要new
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cosisis
2012-04-20 · TA获得超过1265个赞
知道小有建树答主
回答量:589
采纳率:100%
帮助的人:222万
展开全部
int类型的变量作为全局变量时会被默认赋值, 所以你这里写int i; 即使没有赋值也不会报错, 但是你如果在方法中写int类型变量不赋值则编译都无法通过

Integer是int的封装类;i nteger 是对象,用一个引用指向这个对象;Integer 是一个类,是int的扩展,定义了很多的转换方法。所以在调用的时候必须初始化, 否则将跑出空指针异常
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式