Make useOrWrap null input give null output

This commit is contained in:
2023-06-27 12:25:10 -05:00
parent a056c4618c
commit a62a1f10cd
2 changed files with 14 additions and 0 deletions

View File

@ -570,6 +570,11 @@ public class CollectionUtils
{ {
try try
{ {
if(collection == null)
{
return (null);
}
Class<T> targetClass = (Class<T>) typeToken.getRawType(); Class<T> targetClass = (Class<T>) typeToken.getRawType();
if(targetClass.isInstance(collection)) if(targetClass.isInstance(collection))
{ {
@ -602,6 +607,11 @@ public class CollectionUtils
{ {
try try
{ {
if(collection == null)
{
return (null);
}
Class<T> targetClass = (Class<T>) typeToken.getRawType(); Class<T> targetClass = (Class<T>) typeToken.getRawType();
if(targetClass.isInstance(collection)) if(targetClass.isInstance(collection))
{ {

View File

@ -23,6 +23,7 @@ package com.kingsrook.qqq.backend.core.utils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Hashtable; import java.util.Hashtable;
@ -558,6 +559,9 @@ class CollectionUtilsTest extends BaseTest
@Test @Test
void testUseOrWrap() void testUseOrWrap()
{ {
assertNull(CollectionUtils.useOrWrap((Collection<?>) null, TypeToken.get(ArrayList.class)));
assertNull(CollectionUtils.useOrWrap((Map<?, ?>) null, TypeToken.get(HashMap.class)));
{ {
List<String> originalList = new ArrayList<>(List.of("A", "B", "C")); List<String> originalList = new ArrayList<>(List.of("A", "B", "C"));
ArrayList<String> reallyArrayList = CollectionUtils.useOrWrap(originalList, new TypeToken<>() {}); ArrayList<String> reallyArrayList = CollectionUtils.useOrWrap(originalList, new TypeToken<>() {});