关于数组的java新手问题
有人能帮我回答这两个问题吗?我已经阅读了官方文件,想确认一下
创建对象数组时会发生什么情况
a.数组包含初始化为null或0的指定类型的对象
b.数组包含对程序中先前创建的指定类型的对象的引用
c.数组包含在程序前面创建的指定类型的对象
d.数组包含用于引用指定类型对象的位置
我选择B选项
什么与数组标识符相结合以提供对数组中单个元素的引用
a.变量
b.原始价值
c.数组值
d.指数值
我选择D选项,因为标识符是ex“int[]”的标识符,并且在括号中放置索引
先谢谢你
# 1 楼答案
对于问题1,答案是(应该是)
我说应该是,因为这里有个错误。因为我们讨论的是
Objects
数组(而不是基元类型),所以默认值将始终是null
,而不是0(对于int
的array
数组就是这种情况)您希望它包含以前创建的实例吗?那么,在下一个片段中,您认为数组的内容是什么
JVM不知道您想要在其中包含什么,如果您想要之前存在的实例,那么您想要哪些实例,因为数组中的空间比现有的多1个
因此,除非特别设置为值,否则在创建数组之后,元素包含该类型的
default value
,对于Objects
,即null
你对第二个问题的假设是正确的。 它实际上是指存储在数组特定位置的实例的索引
所以:
然而,这里也有一些模糊之处:
也可以认为是正确的(取决于解释),因为索引始终是原始值。但我会坚持回答D。它们可能意味着与原始值完全不同的东西(我认为它们是这样的),但这不能从问题中完全确定