2015-08-18 110 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。