我有这个代码
public static Boolean freq[] = new Boolean[Global.iParameter[2]];
freq[Global.iParameter[2]] = false;
有人可以告诉我我在这里到底在做什么错,我该如何纠正?我只需要将所有数组元素初始化为布尔型false。谢谢
我只需要将所有数组元素初始化为布尔型false。
请改用任一方法,boolean[]
以便所有值默认为false
:
boolean[] array = new boolean[size];
或者
使用Arrays#fill()
填充整个数组Boolean.FALSE
:
Boolean[] array = new Boolean[size];
Arrays.fill(array, Boolean.FALSE);
另请注意,数组索引基于零。该freq[Global.iParameter[2]] = false;
行如你有会导致ArrayIndexOutOfBoundsException
。要了解有关Java中数组的更多信息,请查阅此基本Oracle教程。
问题内容: 我下面有这段代码。如何初始化每个元素= false? 我看到了类似的问题。但是,第二行对我来说没有意义(您能解释第二行吗?)。 问题答案: a中元素的默认值为false。您不需要做任何事情。 之所以需要这样做是因为默认值为。 要初始化为true,使用过载的一个接受。 看到它在线上工作:ideone
问题内容: 我知道当我初始化一个char数组时: 要么 为什么不喜欢 初始化数组: 为什么它们不同?它是Java哲学的本质之一还是其背后的某些原因? 问题答案: 如果您曾经使用过 C ,那么答案就非常简单。在 C语言中 ,创建数组的方式是在堆栈上分配一个足以容纳元素数量的静态内存长度,并使用指针指向第一个元素-或堆上动态内存长度,然后用指针指向第一个元素。 在 C ++中 ,第二个版本已更改为
问题内容: 我正在初始化这样的数组: NetBeans在此行指出一个错误: 我该如何解决这个问题? 问题答案: 上面的信息不正确(语法错误)。这意味着你正在分配一个仅可容纳元素的数组。 如果要初始化数组,请尝试使用: 注意两个声明之间的区别。将新数组分配给声明的变量时,new必须使用。 即使你纠正了语法,访问仍然是不正确的(你只能访问,因为Java中的数组索引是基于0的)。访问]将抛出。
问题内容: 没有循环,是否有可能将所有列表值初始化为某个布尔值?例如,我要列出所有False的N个元素。 问题答案: 您可以这样做:- 注: - 请注意,你不应该有这样做的有相同的值,否则你会看到令人惊讶的行为像一个在下面的例子: - 如您所见,您在一个内部列表中所做的更改将反映在所有这些内容中。
据我所知,在Java11中,这两个操作可以在一行中完成,不是吗?
问题内容: 如何在Java中初始化? 我知道这是一个接口,可以使用或实现,但是在初始化时会出现错误的不兼容类型: 那我该如何进行呢? 问题答案: 用 或从Java 1.7开始