来自源代码:
public String toJson(Object src, Type typeOfSrc) {
StringWriter writer = new StringWriter();
this.toJson((JsonElement)this.toJsonTree(src, typeOfSrc), (Appendable)writer);
return writer.toString();
}
StringWriter
在内部使用StringBuffer
;为什么不使用 StringBuilder 来获得更好的性能???
最佳答案
StringWriter
是一个 Writer,它与 StringBuffer
完全不同,而且两者的用途相差甚远,因此更容易解释它们的相似之处:归结为所有对象之间存在的相似性。当您需要 Writer
(字符流)时,您应该使用 StringWriter
。当您需要一个可变缓冲区来构造字符串时,或者必须以无法使用字符串构造函数完成的方式构造字符串时,您应该使用StringBuffer
。
他们使用它是因为他们需要字符流。
关于java - 为什么gson在toJSONString()方法中使用StringWriter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30910797/