各位編碼員好,
。
我想知道const []是否比List.empty(growable: false)更有效率。后者聽起來更像是官方的方法,但因為我不能讓它成為常量,所以它必須分配一個新的陣列。而第一種方法不僅更短,而且因為它是常數,我看不出它的效率有多高。
有沒有人有更多的見解/知道如何檢查實際性能?
uj5u.com熱心網友回復:
const <T>[]創建一個規范的、編譯時的常量。 List<T>物件只被構造一次。
相反,List<T>.empty(growable: false)沒有這樣的保證,并且可以創建新的List<T>物件。(可以說,當growable為false時,它可以回傳一個const List<T>物件,但是這將需要對growable進行運行時檢查,所以這也會略顯效率低。 正如你已經注意到的,它不可能比const <T>[]做得更好。)
uj5u.com熱心網友回復:
我相信第二種,用List.empty實際上是清除了當前的串列,而沒有創建一個新的參考,不管是= []還是= const []。不過這個問題很有趣。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/309425.html
標籤:
