package com.platform.cc.util;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import org.apache.commons.collections.CollectionUtils;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
/**
* @Description: Safe非空工具类
**/
public class Safes {
public Safes() {
}
public static <K, V> Map<K, V> of(Map<K, V> source) {
return (Map) Optional.ofNullable(source).orElse(Maps.newHashMapWithExpectedSize(0));
}
public static <T> Iterator<T> of(Iterator<T> source) {
return (Iterator) Optional.ofNullable(source).orElse(new ArrayList<T>().iterator());
}
public static <T> Collection<T> of(Collection<T> source) {
return (Collection) Optional.ofNullable(source).orElse(Lists.newArrayListWithCapacity(0));
}
public static <T> Iterable<T> of(Iterable<T> source) {
return (Iterable) Optional.ofNullable(source).orElse(Lists.newArrayListWithCapacity(0));
}
public static <T> List<T> of(List<T> source) {
return (List) Optional.ofNullable(source).orElse(Lists.newArrayListWithCapacity(0));
}
public static <T> Set<T> of(Set<T> source) {
return (Set) Optional.ofNullable(source).orElse(Sets.newHashSetWithExpectedSize(0));
}
public static String of(String source) {
return (String) Optional.ofNullable(source).orElse("");
}
public static String of(String source, String defaultStr) {
return (String) Optional.ofNullable(source).orElse(defaultStr);
}
public static <T> T first(Collection<T> source) {
if (CollectionUtils.isEmpty(source)) {
return null;
} else {
T t = null;
Iterator<T> iterator = source.iterator();
if (iterator.hasNext()) {
t = iterator.next();
}
return t;
}
}
}
jdk 集合工具类判空
最新推荐文章于 2023-05-30 16:49:13 发布