mirror of
https://github.com/fankes/moshi.git
synced 2025-10-19 16:09:21 +08:00
Presize Lists
Avoids unnecessary work due to growing the list.
This commit is contained in:
@@ -31,7 +31,7 @@ import java.util.Set;
|
|||||||
* Coordinates binding between JSON values and Java objects.
|
* Coordinates binding between JSON values and Java objects.
|
||||||
*/
|
*/
|
||||||
public final class Moshi {
|
public final class Moshi {
|
||||||
static final List<JsonAdapter.Factory> BUILT_IN_FACTORIES = new ArrayList<>();
|
static final List<JsonAdapter.Factory> BUILT_IN_FACTORIES = new ArrayList<>(5);
|
||||||
|
|
||||||
static {
|
static {
|
||||||
BUILT_IN_FACTORIES.add(StandardJsonAdapters.FACTORY);
|
BUILT_IN_FACTORIES.add(StandardJsonAdapters.FACTORY);
|
||||||
@@ -46,7 +46,7 @@ public final class Moshi {
|
|||||||
private final Map<Object, JsonAdapter<?>> adapterCache = new LinkedHashMap<>();
|
private final Map<Object, JsonAdapter<?>> adapterCache = new LinkedHashMap<>();
|
||||||
|
|
||||||
private Moshi(Builder builder) {
|
private Moshi(Builder builder) {
|
||||||
List<JsonAdapter.Factory> factories = new ArrayList<>();
|
List<JsonAdapter.Factory> factories = new ArrayList<>(builder.factories.size() + BUILT_IN_FACTORIES.size());
|
||||||
factories.addAll(builder.factories);
|
factories.addAll(builder.factories);
|
||||||
factories.addAll(BUILT_IN_FACTORIES);
|
factories.addAll(BUILT_IN_FACTORIES);
|
||||||
this.factories = Collections.unmodifiableList(factories);
|
this.factories = Collections.unmodifiableList(factories);
|
||||||
|
Reference in New Issue
Block a user