gpt4 book ai didi

java - 我们可以在 Java 的字节数组中存储的最大元素数量是多少?

转载 作者:太空宇宙 更新时间:2023-11-03 10:18:19 25 4
gpt4 key购买 nike

我正在处理水印,因此我将 PNG 图像转换为字节数组,然后在我的代码中对该字节数组的值进行硬编码。

但是当我对 100x100 的图像执行此操作时,它给出了一个错误,即代码太大,据我所知,这个错误是由于字节数组元素的支持大小造成的,实际上只有 64kb。

请告诉我是否有更好的方法来做这件事?

最佳答案

无论数组的类型如何,数组中元素的最大数量为 Integer.MAX_VALUE 或大约 20 亿。

当您在 Java 中初始化数组时,它会在代码中进行,一次一个元素。假设您不会在 Java 中初始化大型数组。包括用于初始化类或构造函数的静态初始化 block 在内的任何方法的限制都是 64K,而您似乎正在达到这个限制。

有两种解决方法;

  • 从文件中读取数据。那么您最多可以拥有 2 GB - 1 的阵列。
  • 将数据存储在一个未以这种方式初始化的字符串中。您可以使用 s.getBytes(StandardCharsets.ISO_8859_1)
  • 将数据转换为 byte[]

最有可能的最佳选择是将数据存储在文件中。

关于java - 我们可以在 Java 的字节数组中存储的最大元素数量是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31312071/

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