將Java反射簡化的Fest-Reflect框架

banq發表於2009-12-01

Java反射是接近動態語言的一個特點,未來與動態指令碼語言PHP Ruby拼的也是反射,可惜Java反射寫起來很不DSL,不方便,需要很多語句。Fest-Reflect解決這個問題,寫反射可以如下:

Person person = constructor().withParameterTypes(String.class)
                             .in(Person.class)
                             .newInstance("Yoda");
 
method("setName").withParameterTypes(String.class)
                 .in(person)
                 .invoke("Luke");
 
field("name").ofType(String.class)
             .in(person)
             .set("Anakin");
 
List<String> powers = field("powers").ofType(new TypeRef<List<String>>() {})
                                     .in(jedi)
                                     .get();
<p>

是不是很有口語化,物件化的味道,自由使用反射吧。

相關文章