So habe ich eine Klasse "Testclass"Groovy Methode Rückkehr null
class TestClass {
public abstract class Test {
private String _string
public Test(String string) {
_string = string
}
private TreeSet<List<String>> _rows = new TreeSet<List<String>>()
public Collection<List<String>> getRows() {
return _rows
}
public abstract void processObject(XmlObject object)
}
private List<Test> list = [
new getData() //long list of classes
]
//this method is supposed to to through the list and return "_rows" which doesnt seem to work
public List<Test> returnRows() {
list.each { Test test ->
return test.getRows()
}
}
public getData extends Test {
public getData() {
super('test')
}
@Override
public void processObject(XmlObject object) {
getRows().add(['test'])
}
}
public TestClass() {
//constructor
}
}
I Testclass in einer anderen Datei hier nenne:
class AnotherClass {
public void run() {
def testClass
testClass = getClass().classLoader.parseClass(new File(classpath)).newInstance()
testClass.returnRows().each { //it is failing here saying that testClass.returnRows() is null
}
}
aber testClass.returnRows() ist null
Ich bin mir nicht sicher, ob die Methode returnRows() nichts liefert oder ob ich die Klasse nicht korrekt instanziiere.
Es sieht so aus, als müssten Sie lernen, einen Debugger zu verwenden. Bitte helfen Sie sich mit ergänzenden Debugging-Techniken. –
Das erste Problem ist, dass Sie 'list.each {...}' anstatt 'list.each() {...}' caling sollten. –
'each() {}' ist übermäßig ausführlich, aber kein Problem – cfrick