Groovy is een optioneel getypeerde en dynamische programmeertaal voor het ontwikkelen van de applicatie op het Java-platform. De syntaxis van Groovy is vergelijkbaar met die van Java. Groovy is een zeer krachtige, krachtige, dynamische en statische programmeertaal die JDK uitbreidt. Door JDK uit te breiden, kan het Java-code accepteren. Groovy wordt niet alleen gebruikt als programmeertaal, maar ook als scripttaal. Java-programma's kunnen in de Groovy-omgeving worden uitgevoerd omdat groovy een superset van Java is. Programma's die in andere programmeertalen behalve Java zijn geschreven, kunnen wel of niet in de Groovy-omgeving worden uitgevoerd.
Groovy is niet alleen gebaseerd op Java, maar combineert ook de kracht van andere talen zoals Python , Ruby en Smalltalk. Met deze krachten biedt Groovy meer mogelijkheden dan Java .
Laten we de verschillen tussen Groovy en Java begrijpen:
Ja nee. | Factor | Groovy | Java |
---|---|---|---|
1. | Standaard import | De java.io.*, java.lang.*, java.math.BigDecimal, java.net.*, groovy.lang.*, groovy.util.*, java.util.* en java.math.BigInteger zijn enkele klassen en pakketten voor algemeen gebruik die standaard worden geïmporteerd. | De Java.lang.* is het enige pakket dat standaard in Java wordt geïmporteerd. |
2. | Trefwoorden | In de vergelijking van Java heeft Groovy drie extra trefwoorden, namelijk: hangen, begraven , En karaktereigenschap . | In Java kunnen we dit niet als trefwoord gebruiken. |
3. | Toegangsmodificator | Het publiek is de standaard toegangsmodificator in Groovy. | Package-private is een standaardtoegangsmodificator in Java. |
4. | Getter en setter | Groovy genereert automatisch getter en setter voor de klasleden. | Java biedt niet automatisch getter en setter voor de klasleden. We moeten dus getter- en setter-methoden definiëren voor klasleden. |
5. | Punt-operator | Groovy ondersteunt ook de puntoperator, maar in tegenstelling tot Java gaan oproepen feitelijk via getters en setters, die automatisch worden gegenereerd in Groovy. | De puntoperator wordt gebruikt om toegang te krijgen tot gegevens van een klasse. |
6. | Puntkomma's | In tegenstelling tot Java hoeft u de puntkomma niet te gebruiken. Het wordt alleen gebruikt om meer dan één verklaring op één regel te schrijven. | In Java is de puntkomma vereist voor de instructies. |
7. | For loop | In vergelijking met Java is het declareren van een for-lus veel eenvoudiger. We declareren for loop op de volgende manier: for(j in 0..4){ print j } 0.tot(3){ druk '$it' af } 4 maal{ druk '$it' af } | In Java declareren we for loop op de volgende manier: voor(int I = 0; I<= 5; i++){ Systeem.out.println(i); }=> |
8. | Veilige navigatie-operator | Om de null-pointer-uitzondering te vermijden, hoeven we geen bewerking uit te voeren om het nul-object te controleren. | In Java moeten we bewerkingen uitvoeren om te controleren of het object null is of niet, om null pointer-uitzonderingen te voorkomen. |
9. | Gebruik van de methode main(). | In groovy is het niet nodig om de methode main() te definiëren, omdat het ook een scripttaal is en er altijd een Script-klasse (Wrapping-klasse) is voor elk programma. | In Java moeten we de methode main() definiëren om de klasse uit te voeren. |
10. | Booleaanse evaluatie | In Groovy wordt de expressie automatisch geëvalueerd als Booleaans. | In Java wordt de expressie niet automatisch geëvalueerd als Booleaans. |
elf. | Array-declaratie | In groovy gebruiken we accolades('{}') voor het declareren van een array. Tekenreeks[] test1 = ['A', 'B', 'C'] | In Java gebruiken we vierkante haakjes('{}') voor het declareren van een array. Tekenreeks[] test1 = ['A', 'B', 'C'] |
12. | Boksen en uitpakken | Er is geen concept van autoboxing en unboxing, omdat hier alles het object is. | Om boxing en unboxing uit te voeren, beschikt Java over primitieve gegevenstypen en het concept van de wrapper-klasse. |
Groovy is dus een superset van Java Java en we kunnen Java-programma's uitvoeren in een Groovy-omgeving. Groovy en Java zijn beide vergelijkbaar, en beide hebben enkele kleine verschillen, die we hierboven hebben gedefinieerd.