生命中有很多东西,能忘掉的叫过去,忘不掉的叫记忆。一个人的寂寞,有时候,很难隐藏得太久,时间太久了,人就会变得沉默,那时候,有些往日的情怀,就找不回来了。或许,当一段不知疲倦的旅途结束,只有站在终点的人,才会感觉到累。其实我一直都明白,能一直和一人做伴,实属不易。——海子
使用hutool
实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| package com.ruben.simplescaffold;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ClassUtil; import cn.hutool.core.util.ReflectUtil; import cn.hutool.core.util.TypeUtil; import com.ruben.simplescaffold.entity.UserDetail; import org.junit.jupiter.api.Test;
import java.lang.reflect.Type; import java.util.Arrays; import java.util.Collection; import java.util.List; import java.util.Objects; import java.util.stream.Collectors;
public class Tests {
@Test void contextLoads() { final List<Class<?>> collect = getJavaBeans(UserDetail.class); collect.forEach(System.out::println); }
private List<Class<?>> getJavaBeans(Class<?> type) { return Arrays.stream(ReflectUtil.getFields(type)).map(field -> { if (BeanUtil.isBean(field.getType())) { return field.getType(); } else if (Collection.class.isAssignableFrom(field.getType())) { Type argument = TypeUtil.getTypeArgument(field.getGenericType()); Class<Object> aClass = ClassUtil.loadClass(argument.getTypeName()); if (BeanUtil.isBean(aClass)) { return aClass; } } return null; }).filter(Objects::nonNull).collect(Collectors.toList()); }
}
|
运行结果:
对应这两个类