MCPcopy
hub / github.com/google/guava / defaultValue

Method defaultValue

guava/src/com/google/common/base/Defaults.java:42–68  ·  view source on GitHub ↗

Returns the default value of {@code type} as defined by JLS --- {@code 0} for numbers, {@code false} for {@code boolean} and {@code '\0'} for {@code char}. For non-primitive types and {@code void}, {@code null} is returned.

(Class<T> type)

Source from the content-addressed store, hash-verified

40 * {@code void}, {@code null} is returned.
41 */
42 @SuppressWarnings({
43 "unchecked",
44 "BooleanLiteral" // `(T) false` would produce an error
45 })
46 public static <T> @Nullable T defaultValue(Class<T> type) {
47 checkNotNull(type);
48 if (type.isPrimitive()) {
49 if (type == boolean.class) {
50 return (T) Boolean.FALSE;
51 } else if (type == char.class) {
52 return (T) Character.valueOf('\0');
53 } else if (type == byte.class) {
54 return (T) Byte.valueOf((byte) 0);
55 } else if (type == short.class) {
56 return (T) Short.valueOf((short) 0);
57 } else if (type == int.class) {
58 return (T) Integer.valueOf(0);
59 } else if (type == long.class) {
60 return (T) Long.valueOf(0L);
61 } else if (type == float.class) {
62 return (T) FLOAT_DEFAULT;
63 } else if (type == double.class) {
64 return (T) DOUBLE_DEFAULT;
65 }
66 }
67 return null;
68 }
69}

Callers 2

testGetDefaultValueMethod · 0.95
getMethod · 0.95

Calls 3

checkNotNullMethod · 0.45
isPrimitiveMethod · 0.45
valueOfMethod · 0.45

Tested by 2

testGetDefaultValueMethod · 0.76
getMethod · 0.76