java - 为什么gson在toJSONString()方法中使用StringWriter?

标签 java json string stringwriter

来自源代码:

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/

相关文章:

java - 如何在 Google App Engine 上创建 RESTful 客户端?

python - 如何将 json 对象漂亮地打印为电子邮件 python

python - 如何将列表元素转换为列表?

java - 启用对象映射器 writeValueAsString 方法以包含空值

java - 作为应用程序用户而不是系统用户的 Postgres JDBC 连接

android - 尝试在android listview中获取mysql数据

java - 将 HTTPServletRequest 流写入 Google App Engine 的数据存储区

java - 检查字符串是否不仅包含整数

java - spring-aspects jar 在 AOP 中的作用?

java - hibernate @GenerateValue ,如何处理已删除的行。在mysql中