簡體   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