Ich habe gerade vor ein paar Tagen angefangen, Groovy zu lernen, und das erste, was ich mich gefragt und gesucht habe, war: "Warum sollte ich Groovy statt Java verwenden und wann kann ich Groovy verwenden?
Einfachheit : Die Syntax von Groovy ist einfach und leicht. Sie spart eine Menge Code und Aufwand und erhöht so die Produktivität des Entwicklers, wenn er dasselbe in Java tun müsste.
in Java
for(int i = 0; i < 3; i++) {
System.out.println("United United..." )
}
in Groovy
3.times {
println "United United..."
}
Dies ist nur ein triviales Beispiel, aber es gibt noch viel mehr solcher Dinge.
Die Dynamik von Groovy : Dies ist einer der Gründe, warum die Codierung einfacher wird und Konzepte wie Polymorphismus und
Callback-Muster leicht zu implementieren sind.
class Player {
String name
int age
}
class Club {
String name
String city
}
public printNameOfTheFootballingEntity(entity) {
println "the entity with name "+ entity.name + " is related to Football"
}
player = new Player(name:"Giggs", age:35)
club = new Club(name:"ManchesterUnited", city:"Old Trafford")
printNameOfTheFootballingEntity(player)
printNameOfTheFootballingEntity(club)
Betrachten Sie den obigen Code. Er gibt das Folgende aus:
die Entität mit dem Namen Giggs ist mit Fußball verwandt
die Entität mit dem Namen ManchesterUnited ist mit Fußball verwandt
Sie beobachten, dass es keine Kompilierzeitprüfung für das Vorhandensein der Eigenschaft "name" in der Entität gibt. Während der Interpretation prüft Groovy auf diese Eigenschaft und wenn sie nicht vorhanden ist, wird die Ausnahme "Fehlende Eigenschaft" ausgelöst. Dynamisch, nicht wahr?
In Groovy müssen Sie Anweisungen nicht mit einem Semikolon abschließen.
Closures sind Codeblöcke, die einige Anweisungen enthalten. Sie sind wie Funktionszeiger in C. In Groovy sind sie tatsächlich Objekte und können auch an Funktionen als Argumente übergeben werden. Closures können die Aufgabe von Callbacks übernehmen.
Zum Beispiel
def checkPlayer = {
println it + " is a good Striker"
}
list = ["Rooney", "Tevez" , "Berbatov" ]
list.each(checkPlayer)
Der obige Code gibt Folgendes aus
Rooney ist ein guter Stürmer
Tevez ist ein guter Stürmer
Berbatov ist ein guter Stürmer
Hier steht 'it' für jedes einzelne Element in der Liste, das an die Schließung 'checkPlayer' übergeben wird.
Der Code innerhalb der geschweiften Klammern ist Schließungscode, der wie ein Rückruf für alle Elemente der Menge wirkt.
Das Gleiche in Java zu programmieren, wäre etwas aufwendiger.
List list = new ArrayList();
list.add("Rooney");
list.add("Tevez");
list.add("Berbatov");
for (String player : list) {
checkPlayer(player);
}
private void checkPlayer(String player) {
System.out.println(player + "is a good Striker");
}
Die bisherigen Beispiele zeigen die Leichtigkeit, mit der Dinge mit wenig Aufwand entwickelt werden können, aber letztlich zum gleichen Ergebnis führen, weil der Groovy-Code zu Bytecode kompiliert wird, den die JVM versteht. Dies kann einen Entwickler produktiver machen und für mehr Agilität sorgen.
Groovy akzeptiert fast alle Java-Programme, da es die Java-Bibliotheken verwenden kann und sogar einige Java-Kernklassen erweitert.
Zum Beispiel
list.join()
Dies gibt 'RooneyTevezBerbatov' aus. Groovy hat die join()-Methode der 'Liste' von Java hinzugefügt und die übrigen Methoden beibehalten.
Verfasst von
Sunil Prakash Inteti
Unsere Ideen
Weitere Blogs
Contact



