【发布时间】:2017-08-31 05:37:03
【问题描述】:
我有这行代码
String s = new String(m_buffer.array());
其中缓冲区是一个字节缓冲区。
有没有一种方法可以将字节缓冲区转换为字符串,而无需分配新的字符串和/或涉及复制 char 数组? (即,有没有办法安全地将 String 的 char[] 值指向 ByteBuffer 的 byte[] hb?)
谢谢
【问题讨论】:
-
首先
byte[]不是char[],其次不是。您应该更担心在不指定编码的情况下从字节创建字符串。一个很好的方法来编写代码,一旦你的默认编码发生变化就会中断。 -
字符串在 Java 中是不可变的,所以这是不可能的另一个原因。
标签: java bytebuffer