Ich habe eine Funktion mit zwei params:Wie Werte in Groovy passieren
private void function(LinkedList<String> a, LinkedList<String> b)
Ich bin mit Groovy so muss ich diese Funktion in meinem Programm auch anrufen:
LinkedList<String> list1 = new LinkedList<String>();
LinkedList<String> list2 = new LinkedList<String>();
list1.add("A");
list1.add("B");
list1.add("C");
list2.add("A");
list2.add("B");
String command = "function(list1, list2)";
Binding binding = new Binding();
GroovyShell shell = new GroovyShell(binding);
Object value = shell.evaluate(command);
aber wenn ich nenne es und die Werte weiterzugeben, was ich sehe, ist:
function([A, B, C],[A, B])
natürlich ist dies gegen die Java-Syntax und der Compiler gibt erros. Gibt es eine Möglichkeit, die realen Werte zu übergeben?
Erstens, warum 'LinkedList' als Parameter anstelle von nur' List' verwenden? Die Groovy-Standardimplementierung ist 'ArrayList'. Hast du es auch * mit Strings * versucht? d.h. "Funktion ([" A "," B "," C "], [" A "," B "])"? – chrylis
warum nicht list1 und list2 zur Bindung hinzufügen? –