java二级:布尔型数组默认值

发布网友 发布时间:2022-03-30 23:44

我来回答

7个回答

热心网友 时间:2022-03-31 01:13

貌似你这样写“boolean b[]=new Boolean[5];”是报错的吧,如果真要解释的话就这样写“Boolean b[]=new Boolean[5];”这样的结果就是null了,因为Boolean是boolean的包装类,不再是基本类型了,所以是null值。追问明白了,我一开始以为题目是写错了,是后面应该写成boolean。看了你的回答,突然发现也可以理解为是题目前面写错了0 0...书真是坑人,学习还得学找书错误的地方...

热心网友 时间:2022-03-31 02:31

实际类型是Boolean这个对象。对象默认初始化是NULL,而boolean不是对象,是声明的,里面包含了自动转型吧。

热心网友 时间:2022-03-31 04:06

boolean b[] = new Boolean[5] 这个只是声明了数组的长度是5,并没有往里头填充任何值,当然是null咯。有不是单个boolean,初始化会帮你自动赋值为false。

热心网友 时间:2022-03-31 05:57

你确定么? 我按这程序 写一编, 不管是静态, 非静态都是false .....

好吧 我才看到, 是new Boolean[5]; 不是new boolean[5];

前者是对象数组, 对象默认值是null,
后者是基本数据类型数组 所以 会赋默认值 false

之所以能 能赋值,是因为JAVA新特性,能自动装箱

热心网友 时间:2022-03-31 08:05

boolean b[]=new Boolean[5];
只是分配了5个数组空间,没有为每个Boolean值分配空间
因为这里做了自动boxing,把b转换为了Boolean数组

热心网友 时间:2022-03-31 10:30

有图为证

热心网友 时间:2022-03-31 13:11

话说这个难道能编译成功?你们有人试过么?我很好奇

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com