gpt4 book ai didi

java - 是否有一种数据类型在 2 个字母中使用的存储空间比 String 少?

转载 作者:行者123 更新时间:2023-12-01 23:13:19 28 4
gpt4 key购买 nike

基本上就是标题所说的。我知道如果我只有一个字母,我可以使用 char 作为类型,但我需要 2 个字母的数据类型,例如“XY”。有没有比字符串使用更少存储空间(位)或更小的东西?或者多个字母通常只是保存为字符串?谢谢!

最佳答案

如果您确定没有使用更高级别的 unicode 字符(即使用超过 1 个字符来存储的字符),则有以下几种选择:

  • 正如 @rdas 所提到的,您可以使用数组:char[2]。这比字符串更节省内存,因为字符串有额外的成员。如果只是 ASCII 字符,您甚至可以使用 byte[2]

  • 由于 1 个字符是 16 位,2 个字符是 32 位,因此也可以尝试将 2 个字符编码为 1 个 int,因为这也只使用 32 个字节,并且您不会有对象开销大批。显然,当您需要将存储的信息显示为实际字符时,例如,这需要一些额外的步骤来编码/解码。将其呈现给用户时。

  • 如果您的字符只是 ASCII 代码,即每个字符适合 1 个字节,您甚至可以将其放入短文本中。

  • 根据您实际需要支持的两个字符组合的数量,您实际上可以枚举所有可能的组合,使用查找映射或排序数组,然后仅存储该组合的编号/索引代码。同样,根据组合的数量,使用字节、短整型或整数。

关于java - 是否有一种数据类型在 2 个字母中使用的存储空间比 String 少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58364493/

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