gpt4 book ai didi

java - String(byte[]) 是否创建字节数组的深拷贝?

转载 作者:行者123 更新时间:2023-12-03 05:01:10 25 4
gpt4 key购买 nike

或者它只是获取对它的引用?

我有一个由外部库重写的字节数组 - 将其传递到 String 构造函数是否安全,或者我应该先创建一个克隆?

byte[] b = MagicLib.getData();
String s = new String(b);

// actually a pointer to previous memory, just with different data
b = MagicLib.getMoreData();

最佳答案

String 包含一个 char 数组,而不是 byte 数组。因此,String 无法共享byte 的存储。

此外,请注意,byte[] 将根据平台默认字符集解码为字符(根据 String(byte[]) 的文档),其中进一步暗示必须单独构造 byte[] 数组的解码版本。

关于java - String(byte[]) 是否创建字节数组的深拷贝?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25429815/

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