Skip to content

Commit bafd589

Browse files
committed
refactor: replace local StringWriter with StringBuilder
1 parent 63d74b3 commit bafd589

File tree

3 files changed

+9
-11
lines changed

3 files changed

+9
-11
lines changed

gson/src/main/java/com/google/gson/Gson.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@
4545
import java.io.IOException;
4646
import java.io.Reader;
4747
import java.io.StringReader;
48-
import java.io.StringWriter;
4948
import java.io.Writer;
5049
import java.lang.reflect.Type;
5150
import java.math.BigDecimal;
@@ -844,7 +843,7 @@ public String toJson(Object src) {
844843
* @see #toJson(Object)
845844
*/
846845
public String toJson(Object src, Type typeOfSrc) {
847-
StringWriter writer = new StringWriter();
846+
StringBuilder writer = new StringBuilder();
848847
toJson(src, typeOfSrc, writer);
849848
return writer.toString();
850849
}
@@ -962,7 +961,7 @@ public void toJson(Object src, Type typeOfSrc, JsonWriter writer) throws JsonIOE
962961
* @since 1.4
963962
*/
964963
public String toJson(JsonElement jsonElement) {
965-
StringWriter writer = new StringWriter();
964+
StringBuilder writer = new StringBuilder();
966965
toJson(jsonElement, writer);
967966
return writer.toString();
968967
}

gson/src/main/java/com/google/gson/JsonElement.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import com.google.gson.stream.JsonWriter;
2222
import java.io.IOException;
2323
import java.io.Reader;
24-
import java.io.StringWriter;
2524
import java.math.BigDecimal;
2625
import java.math.BigInteger;
2726

@@ -422,13 +421,13 @@ public short getAsShort() {
422421
@Override
423422
public String toString() {
424423
try {
425-
StringWriter stringWriter = new StringWriter();
426-
JsonWriter jsonWriter = new JsonWriter(stringWriter);
424+
StringBuilder stringBuilder = new StringBuilder();
425+
JsonWriter jsonWriter = new JsonWriter(Streams.writerForAppendable(stringBuilder));
427426
// Make writer lenient because toString() must not fail, even if for example JsonPrimitive
428427
// contains NaN
429428
jsonWriter.setStrictness(Strictness.LENIENT);
430429
Streams.write(this, jsonWriter);
431-
return stringWriter.toString();
430+
return stringBuilder.toString();
432431
} catch (IOException e) {
433432
throw new AssertionError(e);
434433
}

gson/src/main/java/com/google/gson/TypeAdapter.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.google.gson;
1818

19+
import com.google.gson.internal.Streams;
1920
import com.google.gson.internal.bind.JsonTreeReader;
2021
import com.google.gson.internal.bind.JsonTreeWriter;
2122
import com.google.gson.stream.JsonReader;
@@ -24,7 +25,6 @@
2425
import java.io.IOException;
2526
import java.io.Reader;
2627
import java.io.StringReader;
27-
import java.io.StringWriter;
2828
import java.io.Writer;
2929

3030
/**
@@ -157,13 +157,13 @@ public final void toJson(Writer out, T value) throws IOException {
157157
* @since 2.2
158158
*/
159159
public final String toJson(T value) {
160-
StringWriter stringWriter = new StringWriter();
160+
StringBuilder stringBuilder = new StringBuilder();
161161
try {
162-
toJson(stringWriter, value);
162+
toJson(Streams.writerForAppendable(stringBuilder), value);
163163
} catch (IOException e) {
164164
throw new JsonIOException(e);
165165
}
166-
return stringWriter.toString();
166+
return stringBuilder.toString();
167167
}
168168

169169
/**

0 commit comments

Comments
 (0)