processing/java:无法在数组类型 boolean[] 上调用 length() [重复]

Posted

技术标签:

【中文标题】processing/java:无法在数组类型 boolean[] 上调用 length() [重复]【英文标题】:processing/java: cannot invoke length() on the array type boolean[] [duplicate] 【发布时间】:2016-03-14 18:44:16 【问题描述】:

很惊讶这还没有发布。我正在制作一个 for 循环,它之前工作过,但由于某种原因我找不到 boolean 数组的长度。

for(int z = 0; z < keyIsFound.length(); z++)
  //do something

【问题讨论】:

keyIsFound.length - 没有() 您应该访问此link 了解更多信息。 【参考方案1】:

对于数组,它们的长度在我们创建时是固定的。 如果要获取任意数组的长度,请使用.length

【讨论】:

【参考方案2】:

.length = 获取数组的长度 .length() = 获取字符串的长度

【讨论】:

【参考方案3】:

对于数组,length 是一个属性,而不是一个方法。你必须写keyIsFound.length。当你创建一个数组时,数组是一个固定大小的数据结构 -

int[] nums = new int[10];

你实际上也修复了它length

【讨论】:

【参考方案4】:

length 是一个字段,而不是一个方法。

改用for (int z = 0; keyIsFound != null &amp;&amp; z &lt; keyIsFound.length; ++z) 之类的东西:即去掉括号。请注意我的null 检查,您应该考虑将其与for 循环结合,或者更好的是,与if 结合。

(我喜欢使用++z 而不是z++,因为我是一只老式猫)。

【讨论】:

我认为在单独的if 子句中一开始就检查keyIsFound != null 就足够了。 没错,我可以玩“编译器会优化出卡”,但后来我开始嘲笑使用++z。

以上是关于processing/java:无法在数组类型 boolean[] 上调用 length() [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Unity——C#数组

请问java中深度copy一个二维数组是啥意思?怎么用代码实现?

无法在对象数组上读取未定义的属性“push”

Oracle 从 varray 更改列数据类型

为啥我无法完成数组类型的 typedef 名称?

无法在 Verilog 中创建“真实”类型数组