且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

没有限定名称的Java反射

更新时间:2023-11-09 20:14:52

首先,使用倒影

 Reflections reflections = new Reflections();

 Set<Class<?>> allClasses = reflections.getSubTypesOf(Object.class);

接下来,建立一个查找映射.

Next, build up a lookup-map.

// Doesn't handle collisions (you might want to use a multimap such as http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Multimap.html instead)
Map<String, Class<?>> classBySimpleName = new HashMap<>();

for(Class<?> c : allClasses) {
    classBySimpleName.put(c.getSimpleName(), c);         
}

当您需要查找课程时,您将执行以下操作:

When you need to lookup a class you'll do:

Class<?> clazz = classBySimpleName.get(className);