Diferencia entre Groovy y Java

Groovy es un lenguaje poderoso, opcionalmente escrito y dinámico para desarrollar una aplicación en la plataforma Java donde su sintaxis es similar a Java . Su disciplina de tipeo es fuerte, estática y dinámica. Lo mejor de Groovy es que, dado que extiende JDK, acepta código Java . Groovy se puede utilizar tanto como lenguaje de programación como de secuencias de comandos. Groovy es un superconjunto de Java , lo que significa que el programa Java se ejecutará en el entorno Groovy , pero viceversa puede o no ser posible. Mientras que Java es un lenguaje de programación fuerte y estático. 

1. Importaciones predeterminadas: 

  • En Groovy , algunos paquetes y clases de uso general se importan de forma predeterminada: 
    • java.io.*
    • java.lang.*
    • java.math.BigDecimal
    • java.math.BigInteger
    • java.net.*
    • java.util.*
    • groovy.lang.*
    • maravilloso.util.*
  • Donde en Java solo se importa el paquete java.lang.* de forma predeterminada.

2. Palabras clave adicionales: 

  • como , definir , rasgo estas son palabras clave adicionales en Groovy .
  • No puede utilizar estas palabras clave como nombre de variable.

3. Modificador de acceso predeterminado: 

  • En Java , el modificador de acceso predeterminado es el paquete, es decir, si no especifica el modificador de acceso para campos, métodos o clases, se convierte en paquete privado.
  • En Groovy es público por defecto .

4. Getters y Setters:

  • En Java , debe proporcionar un método de obtención y configuración para los campos, especialmente si sigue la convención de nomenclatura de Java Beans y utiliza herramientas y bibliotecas, que utilizan Reflection para acceder dinámicamente y mutar las propiedades de los beans.
  • En Groovy , los getters y setters se generan automáticamente para los miembros de la clase.

5. El punto separador:

  • En Java , usamos el operador punto (.) para acceder a la propiedad de la clase
  • Groovy también es compatible con el operador de puntos, pero a diferencia de Java , las llamadas en realidad pasan por getters y setters, que se generan automáticamente en Groovy .

6. En Groovy , los puntos y comas (;) son opcionales, utilícelos solo si lo desea o si desea escribir más de una declaración en una línea.

7. Para bucle:

  • Como en la mayoría de las tareas usamos un bucle for, en Groovy declarar un bucle for es mucho más fácil, podemos declarar un bucle for como 
for(j in 0..4){ print j } 
0.upto(3) { print "$it" } 
4.times{ print "$it" }    
  • en donde Java 
 for(int i=0;i<=5;i++){
  System.out.println(i);
 }

8. Operador de Navegación Segura: 

  • En Java , tenemos que realizar alguna operación para verificar el objeto nulo, para evitar la excepción del puntero nulo. 
String str = null;
if(str != null){
    System.out.println(str.reverse());
}
  • Pero en Groovy podemos hacer lo siguiente directamente 
println  str.reverse()

9. El método principal():

  • En Java , necesita el método principal para hacer que una clase sea ejecutable
  • En Groovy no necesitas eso. Dado que Groovy es un lenguaje de secuencias de comandos, existe automáticamente una clase de ajuste llamada Script para cada programa.
  • 10. Evaluación booleana:  
    Groovy evalúa automáticamente la expresión como booleana. 
def str = “test”
if(str){ println str }

11. Declaración de array:

  • Si desea crear una array de strings en Java , debe usar llaves «{}». 
    En Java
String[] testArray = {"A", "B", "C"};
  • Mientras que en Groovy podemos usar corchetes. “[]”. 
    En maravilloso
String[] testArray = ["A", "B", "C"]

Resumir la diferencia entre Java y Groovy 

Java maravilloso
Está desarrollado en JDK y se ejecuta en JVM Está compilado en código JVM Byte y es compatible con la plataforma Java
Se utiliza como lenguaje de programación y orientado a objetos. Se utiliza tanto como lenguaje de programación como de secuencias de comandos.
En el paquete modificador de acceso predeterminado de Java En el modificador de acceso predeterminado Groovy público
En Java , debe proporcionar un método de obtención y configuración para los campos, especialmente si está siguiendo la convención de nomenclatura de Java Beans . En Groovy , los getters y setters se generan automáticamente para los miembros de la clase
En Java los puntos y comas son obligatorios En Groovy , los puntos y comas son opcionales.
En Java, solo el paquete Java .lang.* se importa de forma predeterminada En Groovy , los paquetes de uso común se importan de forma predeterminada
Java tiene tipos de datos primitivos y clases contenedoras para realizar boxing y unboxing implícita o explícitamente En Groovy , todo es objeto y usa solo objetos, por lo tanto, no hay concepto de autoboxing o unboxing
Java tiene un requisito del método principal dentro de una clase para ejecutar el programa Groovy no requiere ningún método principal o punto de entrada de un método para ejecutar la clase o cualquier programa

Publicación traducida automáticamente

Artículo escrito por PratikKolapkar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *