如何在Java中将StringBuffer转换为字节数组?
一个更好的替代方法是 stringBuffer.toString().getBytes()
更好的原因是String.valueOf(stringBuffer)
实际上调用了stringBuffer.toString()
。直接调用stringBuffer.toString().getBytes()
将为您节省一个函数调用和与null
的相等比较。
这是java.lang.String
的valueOf
方法的实现:
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
我说我们有一个答案,来自Greg:
String.valueOf(stringBuffer).getBytes()
private transient char[] toStringCache;
并将其复制到String类变量private final char[] value;
中。 - chendu
getBytes
时指定编码方式... "使用平台默认的字符集将该字符串编码为一系列字节..." 这是一个比较荒谬的地方,他们没有选择一个通用的默认值。 - user166390