java.lang.reflect包周围有java反射API吗?

Osc*_*Ryz 2 java reflection

很多Java项目都使用反射.我想知道是否有一个java.lang.reflect更容易使用的反射库.

我们可以使用它:

 Reflected object = new Reflected( new Object() {
        String name="Oscar";
        String lastName="Reyes";
        String reverseName(){
            return new StringBuilder(name+lastName)
                .reverse()
                .toString();
        }
        int nameLength() {
            return (name+lastName).length();
        }
    });
    String name = object.getString("name");
    object.set("name", "Mr. Oscar");
    String reversed = ( String ) object.exec("reverseName");
    int count       = ( Integer ) object.exec("nameLength");
Run Code Online (Sandbox Code Playgroud)

.... 
UnknownLibraryObject reflectionMadeEasy 
         = new UnknownLibraryObject( .... );// initialize with an object from somewhere 

String someString = ( String ) reflectionMadeEasy.get("stringPropertyFromTheReflectedObject");
int someInteger   = ( String ) reflectionMadeEady.execute("someMethodFromReflectedObject", 1,2,3 );// with args.
Run Code Online (Sandbox Code Playgroud)

每个使用反射的项目是从头开始还是已经有了库?

ska*_*man 6

目前尚不清楚你想要做什么,但阿帕奇共享郎提供了许多方便实用工具类,使反射少一点麻烦,比如MethodUtils,FieldUtilsConstructorUtils.这些通常提供单行来抽象出通常庞大的原始反射代码.

正如@Lauri指出的那样,Commons BeanUtils也可用,提供更多高级功能,例如在对象之间复制属性.