【发布时间】:2020-04-03 15:30:18
【问题描述】:
我正在寻找一种将字节数组转换为字符串的方法,我找到的唯一方法是:
String s1="horse";
String s2;
byte[] b=s1.getBytes();
s2=new String(b);
所以我的问题是,有没有其他方法可以将字节数组转换为字符串而不创建新的 String 实例? 另外,如果我反复这样做:
String s;
while(true){
s=new String();
}
会占用越来越多的内存,还是会自动释放再重新分配?如果内存被自动释放,我将不再需要寻找将字节数组转换为字符串的替代方法。
P.S.(我希望 s2 成为“马”) P.S.2(对不起我的英语不好)
【问题讨论】:
-
Java 有一个Garbage Collector。在您的第二个示例中,分配器将重用空间。
-
如何创建一个在 not 之前不存在的 String 创建一个新的 String 实例?
标签: java arrays string memory byte