gpt4 book ai didi

android - Kotlin 中的最大数组大小

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:55:46 25 4
gpt4 key购买 nike

我正在通过 Android Studio 3.1.3 在 Kotlin 中编程。我创建了一个显然太大而无法编译的 Long 类型数组。玩了一会儿之后,我发现我可以编译的最大大小数组包含 8,207 个元素。包含 8,208 个或更多元素的数组导致编译错误。数组中有 350 行元素,其中包含按数字顺序排列的质数。两个问题:

  1. 有谁知道为什么会存在这个限制? 8,208 是 (2^13 + 2^4),但这似乎是一个奇怪的临界点。所以,我怀疑这是限制的原因。

  2. 有什么方法可以增加数组的允许大小吗?

注意:在Android论坛上,建议我使用ArrayList而不是ArrayLong。我很欣赏这个建议并打算尝试一下,但长数组的限制对我来说仍然很奇怪。如果有人有更优雅的解决方案或对限制的解释,我很想听听!感谢您的宝贵时间。

最佳答案

所以,您要做的是:

var a = longArrayOf(1,2,3,4,5,6,7,8...)

JVM 有限制。方法的最大大小为 64K。

如果你反编译你的代码,你会收到数组中每个元素的类似内容:

DUP
SIPUSH 8206
LDC 8207
LASTORE

这就是您达到极限的地方。

关于android - Kotlin 中的最大数组大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51658795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com