繁体   English   中英

Java 如何处理动态布尔数组作为方法参数?

[英]How Java handles dynamic Boolean array as method parameter?

我正在使用一个具有接受boolean[]的方法的类。

此代码不会引发任何错误

public class myclass{
    void move(boolean[] myarray) {
         //Do stufff
    }
}

现在,我做了一点 C++ 编码,这在动态内存的上下文中不起作用。

所以这本质上是一个java问题:

在我的情况下,接收的数组具有已知长度,但我想知道如果它是动态的,你将如何在 Java 中处理它(以及如果它不是动态的我应该怎么做)。

我猜编译器或 JVM 会处理这个问题,但我想知道我可以实现的速度优化。

Java 中的数组总是长度不变的。 来自The Java Tutorials ,“数组的长度是在创建数组时确定的。”

如果你想要动态数组,你可以使用集合框架中的一些东西,例如 ArrayList。

在任何情况下,对数组(或集合)的引用都会传递到 move(...) 中,因此函数调用的速度应该没有任何差异。

使用数组时,我希望(静态)数组比通过函数调用访问(动态)集合的元素更快地解除引用。 但是,要进行适当的比较,您需要提供有关如何使用数组的更多上下文。

您应该考虑使用 ArrayList<>() 来满足与迭代任意长度集合相关的所有需求。

在 Java 世界中,使用 List 也是一种很好的做法。 有一篇关于使用列表和数组的程序员以及使用列表的程序员倾向于产生较少错误的文章。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM