Java获取class、method、field、constructor的各种方式收集

一、class

ReflectUtil

sun.reflect.misc.ReflectUtil

1
ReflectUtil.forName("java.lang.String")

BytecodeDescriptor

1
sun.invoke.util.BytecodeDescriptor.parseMethod("(Ljava/lang/String;)V", null).get(0);

Class.forName

1
Class.forName("java.lang.String");

ClassLoader.loadClass

1
Thread.currentThread().getContextClassLoader().loadClass("java.lang.String");

二、method

MethodUtil

sun.reflect.misc.MethodUtil

1
MethodUtil.getMethod(String.class, "valueOf", new Class[]{int.class});

三、field

FieldUtil

sun.reflect.misc.FieldUtil

1
FieldUtil.getField(String.class, "a");

四、Constructor

ConstructorUtil

sun.reflect.misc.ConstructorUtil

1
sun.reflect.misc.ConstructorUtil#getConstructor