com.anwen.mongo.toolkit.CollUtil Maven / Gradle / Ivy
package com.anwen.mongo.toolkit;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* 集合工具类
* @author JiaChaoYang
* @date 2023-09-22 11:48
**/
public class CollUtil {
private static final Object[] EMPTY_OBJECT_ARRAY = new Object[0];
public static boolean isNotEmpty(Collection> collection){
return collection != null && !collection.isEmpty();
}
public static boolean isEmpty(Collection> collection){
return !isNotEmpty(collection);
}
public static boolean isEmpty(Map, ?> map) {
return (map == null || map.isEmpty());
}
public static boolean isNotEmpty(Map, ?> map){
return !isEmpty(map);
}
public static boolean isArray(Object obj) {
return (obj != null && obj.getClass().isArray());
}
public static List> arrayToList(Object source) {
return Arrays.asList(toObjectArray(source));
}
public static Object[] toObjectArray(Object source) {
if (source instanceof Object[]) {
return (Object[]) source;
}
if (source == null) {
return EMPTY_OBJECT_ARRAY;
}
if (!source.getClass().isArray()) {
throw new IllegalArgumentException("Source is not an array: " + source);
}
int length = Array.getLength(source);
if (length == 0) {
return EMPTY_OBJECT_ARRAY;
}
Class> wrapperType = Array.get(source, 0).getClass();
Object[] newArray = (Object[]) Array.newInstance(wrapperType, length);
for (int i = 0; i < length; i++) {
newArray[i] = Array.get(source, i);
}
return newArray;
}
}