Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions gson/src/main/java/com/google/gson/Gson.java
Original file line number Diff line number Diff line change
Expand Up @@ -588,7 +588,7 @@ public String toJson(Object src) {
* @see #toJson(Object)
*/
public String toJson(Object src, Type typeOfSrc) {
StringBuilder writer = new StringBuilder();
StringBuilder writer = JsonElement.newJsonStringBuilder();
toJson(src, typeOfSrc, writer);
return writer.toString();
}
Expand Down Expand Up @@ -706,7 +706,7 @@ public void toJson(Object src, Type typeOfSrc, JsonWriter writer) throws JsonIOE
* @since 1.4
*/
public String toJson(JsonElement jsonElement) {
StringBuilder writer = new StringBuilder();
StringBuilder writer = JsonElement.newJsonStringBuilder();
toJson(jsonElement, writer);
return writer.toString();
}
Expand Down
9 changes: 8 additions & 1 deletion gson/src/main/java/com/google/gson/JsonElement.java
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,9 @@
* @author Joel Leitch
*/
public abstract class JsonElement {

private static final int DEFAULT_JSON_BUFFER_SIZE = 256;

/**
* @deprecated Creating custom {@code JsonElement} subclasses is highly discouraged and can lead
* to undefined behavior.<br>
Expand Down Expand Up @@ -420,7 +423,7 @@ public short getAsShort() {
@Override
public String toString() {
try {
StringBuilder stringBuilder = new StringBuilder();
StringBuilder stringBuilder = newJsonStringBuilder();
JsonWriter jsonWriter = new JsonWriter(Streams.writerForAppendable(stringBuilder));
// Make writer lenient because toString() must not fail, even if for example JsonPrimitive
// contains NaN
Expand All @@ -431,4 +434,8 @@ public String toString() {
throw new AssertionError(e);
}
}

static StringBuilder newJsonStringBuilder() {
return new StringBuilder(DEFAULT_JSON_BUFFER_SIZE);
}
}
2 changes: 1 addition & 1 deletion gson/src/main/java/com/google/gson/TypeAdapter.java
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ public final void toJson(Writer out, T value) throws IOException {
* @since 2.2
*/
public final String toJson(T value) {
StringBuilder stringBuilder = new StringBuilder();
StringBuilder stringBuilder = JsonElement.newJsonStringBuilder();
try {
toJson(Streams.writerForAppendable(stringBuilder), value);
} catch (IOException e) {
Expand Down
5 changes: 5 additions & 0 deletions gson/src/test/java/com/google/gson/GsonTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,11 @@ private static Gson createGson() {
return gsonBuilder.create();
}

@Test
public void testDefaultJsonStringBuilderCapacity() {
assertThat(JsonElement.newJsonStringBuilder().capacity()).isEqualTo(256);
}

@Test
public void testStrictnessDefault() {
assertThat(new Gson().strictness).isNull();
Expand Down
Loading