2013-10-30 55 views

回答

6

您可以使用Reflections library這種事情,即;找到org.codehaus.groovy其中實現Iterator接口的所有類,你可以這樣做:

@Grab('org.slf4j:slf4j-api:1.7.5') 
@Grab('org.reflections:reflections:0.9.9-RC1') 
import org.reflections.* 

new Reflections('org.codehaus.groovy').getSubTypesOf(Iterator).each { 
    println it.name 
} 

它打印:

org.codehaus.groovy.runtime.StringGroovyMethods$1 
org.codehaus.groovy.runtime.SwingGroovyMethods$7 
org.codehaus.groovy.util.ArrayIterator 
org.codehaus.groovy.runtime.metaclass.ConcurrentReaderHashMap$KeyIterator 
org.codehaus.groovy.control.CompilationUnit$9 
org.codehaus.groovy.runtime.SqlGroovyMethods$ResultSetMetaDataIterator 
org.codehaus.groovy.runtime.SwingGroovyMethods$1 
org.codehaus.groovy.util.ManagedLinkedList$Iter 
org.codehaus.groovy.runtime.SwingGroovyMethods$3 
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$2 
org.codehaus.groovy.runtime.SwingGroovyMethods$6 
org.codehaus.groovy.ant.FileIterator 
org.codehaus.groovy.runtime.IOGroovyMethods$3 
org.codehaus.groovy.runtime.DefaultGroovyMethods$DropWhileIterator 
org.codehaus.groovy.runtime.DefaultGroovyMethods$TakeIterator 
org.codehaus.groovy.runtime.DefaultGroovyMethods$3 
org.codehaus.groovy.runtime.SwingGroovyMethods$5 
org.codehaus.groovy.runtime.SwingGroovyMethods$2 
org.codehaus.groovy.runtime.metaclass.ConcurrentReaderHashMap$HashIterator 
org.codehaus.groovy.runtime.metaclass.ConcurrentReaderHashMap$ValueIterator 
org.codehaus.groovy.runtime.XmlGroovyMethods$1 
org.codehaus.groovy.runtime.SwingGroovyMethods$4 
org.codehaus.groovy.runtime.IOGroovyMethods$2 
org.codehaus.groovy.runtime.ReverseListIterator 
org.codehaus.groovy.runtime.DefaultGroovyMethods$TakeWhileIterator 
相關問題