Make CanonizingStringMap not crash on null keys/values
This commit is contained in:
parent
76485b0cba
commit
b15537a32f
|
|
@ -141,6 +141,7 @@ public class CanonizingStringMap<T> implements Map<String, T> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> CanonizingStringMap<T> deepCopy(CanonizingStringMap<T> inputMap, Function<T, T> deepCopier) {
|
public static <T> CanonizingStringMap<T> deepCopy(CanonizingStringMap<T> inputMap, Function<T, T> deepCopier) {
|
||||||
|
Objects.requireNonNull(deepCopier);
|
||||||
Object2ObjectMap<String, T> copiedBackingMap;
|
Object2ObjectMap<String, T> copiedBackingMap;
|
||||||
int size = inputMap.backingMap.size();
|
int size = inputMap.backingMap.size();
|
||||||
if(size > GROWTH_THRESHOLD) {
|
if(size > GROWTH_THRESHOLD) {
|
||||||
|
|
@ -148,7 +149,8 @@ public class CanonizingStringMap<T> implements Map<String, T> {
|
||||||
} else
|
} else
|
||||||
copiedBackingMap = new Object2ObjectArrayMap<>(size);
|
copiedBackingMap = new Object2ObjectArrayMap<>(size);
|
||||||
inputMap.backingMap.object2ObjectEntrySet().forEach(entry -> {
|
inputMap.backingMap.object2ObjectEntrySet().forEach(entry -> {
|
||||||
copiedBackingMap.put(entry.getKey(), deepCopier.apply(entry.getValue()));
|
if(entry.getKey() != null && entry.getValue() != null)
|
||||||
|
copiedBackingMap.put(entry.getKey(), deepCopier.apply(entry.getValue()));
|
||||||
});
|
});
|
||||||
return new CanonizingStringMap<>(copiedBackingMap);
|
return new CanonizingStringMap<>(copiedBackingMap);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user