2015-08-18 57 views
1

是否存在Class.forName的Gradle等价物或更加Gradle/Groovy的方式。Class.forName的Gradle等价物

我试图在gradle这个实现如下:

for(String name : new String[]{ 
      MyImpl1.class.getName() , 
      MyImpl2.class.getName() , 
      MyImpl3.class.getName()}) { 
     MyInterface myInterface = (MyInterface)Class.forName(name).newInstance(); 
     myInterface.configure(); 
    } 

凡MyImpl1,MyImpl2和MyImpl3实现MyInterface的

回答

0

按照Guillaume LaForge's(主要贡献者Groovy语言之一)answer here

def name = "java.lang.Integer"// Fully qualified class name 
def s = ("$name" as Class).parseInt("10") 
println s 

但我想如果你想更好地控制特定的类加载器,这样做Java方式Class.forName("Foo", true, this.getClass().getClassLoader())也适用于Groovy。