Java 反射工具类
关于反射的一些常用操作。除了使用 cglib 生成新的 bean部分,大部分操作均为暴力访问取值()。
Maps
请查看这篇 Map工具类
Collections
getOne 方法只是对 list.stream.filter(fn).getOne().orElse(null) 的简单封装
import java.util.Arrays;
import java.util.Collection;
import java.util.function.Predicate;
import org.springframework.lang.Nullable;
public final class Collections {
public static boolean isEmpty(Collection<?> c){
return c == null || c.size() == 0;
}
/**
* 如果有空值
*/
public static boolean isNull(Object... objects){
for (Object o : objects) {
if (o==null){
return true;
}
}
return false;
}
@SafeVarargs
public static <T> T getNotNull(T... arr){
for (T t : arr) {
if (t != null){
return t;
}
}
return null;
}
@Nullable
public static <T> T getOne(Collection<T> list, Predicate<T> predicate){
if (list==null){
return null;
}
return list.stream().filter(predicate).findFirst().orElse(null);
}
@Nullable
public static <T> T getOne(T[] list, Predicate<T> predicate){
if (list==null){
return null;
}
return Arrays.stream(list).filter(predicate).findFirst().orElse(null);
}
}
大约 3 分钟