gpt4 book ai didi

java - Java中如何高效地将二进制字符串转换为二进制字节数组?

转载 作者:行者123 更新时间:2023-12-02 09:15:53 25 4
gpt4 key购买 nike

作为输入,我有二进制字符串 String a = "100110" 。作为输出,我需要有二进制字节数组 byte[] b = {1,0,0,1,1,0} 。现在我正在使用

for (int i=0; i<a.length; i++) {
b[i]= Byte.parseByte(a.substring(i, i+1));
}

但是这种方法太慢了。有人能给出更好的建议吗?谢谢

最佳答案

您可以在不为子字符串创建对象的情况下完成此操作,如下所示:

for (int i=0; i<a.length; i++) {
b[i]= a.charAt(i)=='1' ? (byte)1 : (byte)0;
}

您的方法速度较慢的原因是每次调用substring都会生成一个新的String对象,一旦parseByte该对象就可以进行垃圾回收code> 就完成了。

关于java - Java中如何高效地将二进制字符串转换为二进制字节数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24395994/

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