当前位置: 首页 > 面试题库 >

Java:原始数组-是否已初始化?

章兴发
2023-03-14
问题内容

如果我在代码中使用如下语句

int[] a = new int[42];

它将数组初始化为特定的东西吗?(例如0)我似乎记得此文件记录在某处,但我不确定要搜索什么。


问题答案:

JLS说,在15.10数组创建表达式中

[…]创建具有指定长度的一维数组,并将数组的每个组件初始化为其默认值

在4.12.5变量的初始值处表示:

对于type int,默认值为零,即0



 类似资料:
  • 问题内容: 我需要使用类似于php的isset函数的东西。我知道php和java截然不同,但是php是我先前类似编程知识的唯一基础。是否有某种方法可以返回一个布尔值,用于确定实例变量是否已初始化。例如… 到目前为止,我遇到了这个问题,当我的程序试图隐藏或删除尚未构造的对象时,出现运行时错误。 问题答案: 假设您对是否已为变量 明确赋值 感兴趣,答案是“不是真的”。但绝对的字段(实例变量或类变量)尚

  • 我有这样的代码: 当我们没有任何其他getInstance的静态方法时,是否初始化了此单例惰性?据我所知,类只在某些情况下初始化,比如: 类的实例是使用new()关键字或使用类的反射创建的。forName(),它可能在Java中引发ClassNotFoundException (Surce:http://javarevisited.blogspot.com/2012/07/when-class-l

  • 问题内容: 我知道当我初始化一个char数组时: 要么 为什么不喜欢 初始化数组: 为什么它们不同?它是Java哲学的本质之一还是其​​背后的某些原因? 问题答案: 如果您曾经使用过 C ,那么答案就非常简单。在 C语言中 ,创建数组的方式是在堆栈上分配一个足以容纳元素数量的静态内存长度,并使用指针指向第一个元素-或堆上动态内存长度,然后用指针指向第一个元素。 在 C ++中 ,第二个版本已更改为

  • 我正在解决LeetCode.com的一个问题。问题是这样的: 这不是不正确吗?因为如果,那么这不是意味着抢劫相同的房子吗(因为我们将和初始化为相同的值?)即使我们假设,和不是连续的房屋吗? 完整代码(如果需要)如下:

  • 问题内容: 我退出该应用程序,然后重新启动,但出现异常。 例外 清单文件 编辑: 我不知道为什么Parse会为此抛出异常。为什么不只是继续前进。它已初始化,如果我再次对其进行初始化,那么大的麻烦。 解 我放弃了解析。不喜欢Application的方式,只是为了维护。 问题答案: 整个应用程序 只应调用 一次 。 在的函数中调用它可能导致多次初始化,因为 在应用程序的生命周期中可以多次创建Activ

  • 问题内容: 我知道您可以在实例化期间初始化数组,如下所示: 有没有办法用ArrayList做同样的事情?还是我必须单独添加内容? 问题答案: Arrays.asList可以在这里提供帮助: