@Beta @GwtIncompatible public final class ArbitraryInstances extends Object
Covers arrays, enums and common types defined in java.lang
, java.lang.reflect
,
java.io
, java.nio
, java.math
, java.util
, java.util.concurrent
, java.util.regex
, com.google.common.base
, com.google.common.collect
and com.google.common.primitives
. In addition, if the type
exposes at least one public static final constant of the same type, one of the constants will be
used; or if the class exposes a public parameter-less constructor then it will be "new"d and
returned.
All default instances returned by get(java.lang.Class<T>)
are generics-safe. Clients won't get type
errors for using get(Comparator.class)
as a Comparator<Foo>
, for example.
Immutable empty instances are returned for collection types; ""
for string;
0
for number types; reasonable default instance for other stateless types. For mutable
types, a fresh instance is created each time get()
is called.
Modifier and Type | Method and Description |
---|---|
static <T> T |
get(Class<T> type)
Returns an arbitrary instance for
type , or null if no arbitrary instance can
be determined. |
Copyright © 2010–2017. All rights reserved.