gpt4 book ai didi

java - 将字符串封装为 byte[] 是为了节省内存吗? ( java )

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:38:15 26 4
gpt4 key购买 nike

最近在审查一些 Java Swing 代码时看到了这个:

byte[] fooReference;

String getFoo() {
returns new String(fooReference);
}

void setFoo(String foo) {
this.fooReference = foo.getBytes();
}

以上内容可能有助于节省您的内存足迹,或者有人告诉我。

是否还有其他人以这种方式封装他们的字符串?

最佳答案

这是一个非常、非常的坏主意。不要使用平台默认编码。毫无疑问,如果您调用 setFoo 然后调用 getFoo,您将获得相同的数据。

如果你必须做这样的事情,那么使用 UTF-8 肯定可以代表整个 Unicode ......但我真的不会这样做。它可能节省一些内存,但代价是在大多数时间执行不必要的转换 - 并且在未能使用适当的编码方面容易出错。

我敢说有一些的应用程序是合适的,但对于其中 99.99% 的应用程序来说,这是一个糟糕的想法。

关于java - 将字符串封装为 byte[] 是为了节省内存吗? ( java ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3367384/

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