Ir al contenido principal

Variables "anónimas" en Java

 


Las nuevas versiones de Java (desde la 11) nos traen muchos cambios que pueden volar la cabeza a más de un programador Java que sigue usando el JDK 8 o inferiores. Uno de estos cambios son las famosas variables "anónimas".

Variables "anónimas"
package org.info;

/**
*
*@author Comunidad City Java
*@date 31/03/2021
*
*/

public class Main{
   public static void main(String[] args){
      testA();   
   }

   public static void testA(){
     var entero = 32;
     var cadena = "Esta es una cadena en Java";
     var flotante = 23.7f;
     var real = 45.3;
     var caracter = '\u9943';
     var claveLarga = 12330000L;
     var booleano = 45 > 43;
     System.out.println("**** Tipos anonimos ****");
     System.out.printf("Entero: %d \n",entero);
     System.out.println("Cadena: "+cadena);
     System.out.println("Caracter: "+caracter);
     System.out.println("Flotante: "+flotante);
     System.out.println("Double: "+real);
     System.out.println("Clave larga: "+claveLarga);
     if(booleano){
       System.out.println("Hola, amigos!!");
     }
   }
} 

Como se puede ver en el programa Main.java se puede observar que no definimos el tipo de las variables. Sin embargo, una vez que a la variable se le ha asignado un valor éste no podrá ser re asignado. Por lo que este fragmento de código causaría un error en tiempo de compilación.

entero = "Ahora soy una cadena";
System.out.println("Entero: "+entero);

También podemos hacer cosas como esto:
var lista = List.of(1,2,3,4,5,6);
var obj = new Main();
     
if(obj instanceof Main){
  System.out.println("Es de tipo Main");
}   
for(Integer e : lista){
  System.out.println(e);
}

Crear una lista "anónima" y un objeto "anónimo".

El programa compilará y se ejecutará sin problema alguno. 

Otra de las nuevas características es crear una clase mediante la palabra record, la cual es tan solo un nuevo camino para crear un nuevo tipo.

package info;

public class Main{
   
   record Punto(int x, int y){}

   public static void main(String[] args){
      // instanciamos la clase Punto 
      var punto = new Punto(3,2);
      
      //Accedemos a sus atributos: x & y
      System.out.println(punto.x());
      System.out.println(punto.y());

      //el método toString() ya va integrado
      System.out.println(punto);
   }

}
En este ejemplo podemos ver como hemos creado un nuevo tipo llamado Punto, accedemos a sus atributos e imprimimos en consola todo el objeto.


Enlaces:
https://www.adictosaltrabajo.com/2019/02/26/de-java-8-a-java-11-aun-no-te-has-migrado/
https://dev.to/jackcmeyer/what-s-new-in-java-15-record-44bl
https://medium.com/the-java-report/java-11-sneak-peek-local-variable-type-inference-var-extended-to-lambda-expression-parameters-e31e3338f1fe

Comentarios

Entradas populares de este blog

Clojure para programadores Java (1)

Clojure es un lenguaje de programación similar a Lisp. Corre bajo la JVM (Java Virtual Machine) y emplea la programación funcional y orientada a objetos. El sitio oficial dice: Clojure es un lenguaje de programación robusto, práctico y rápido con un conjunto de características útiles que juntas forman una herramienta simple, coherente y poderosa. Creando el Hola,mundo en Clojure. holamundo.clj (println "Hola, mundo en Clojure!!" ) La extensión de un programa en este lenguaje es .clj Como se puede notar la base es colocar las sentencias entre parentesis. ( operador/funcion var1 var2 varN) Deberás descargar Clojure, tener instalado Maven y Java. A continuación se muestra una forma de obtener el JAR de Clojure para ejecutar nuestros programas. En la Línea final podemos acceder al shel o REPL del lenguaje. $ git clone https ://github.com/clojure/clojure.git $ cd clojure $ mvn -Plocal -Dmaven.test.skip=true package $ java -jar clojure.jar E

¿Cómo diseñar una API REST? (Youtube)

Java en ejemplos: creando nuestras propias excepciones

De errores y excepciones Una excepción en programación es una anomalía en el flujo de un programa. El programador puede anticiparse a ésta haciendo que su código pueda librarla y que el programa no termine abruptamente. Ejemplo. Una excepción podría ocurrir en un programa que lee archivos de texto, el programa es incapaz de leer líneas con acentos, apóstrofes, letras Ñ o símbolos raros. El programador tendría que saber manejar esas excepciones y mitigarlas. Un error es un problema en el programa que hará que éste termine abruptamente; el programador queda indefenso, no puede hacer nada al respecto para remediarlo. Este error puede ser falta de memoria o recursos del sistema, entre otros más. Ejemplo. Un programa pude cerrarse abruptamente al quedarse sin memoria el sistema operativo. En Java cada clase (propia o definida por el programador) es hija de la clase padre ``Object``. La clase ``Throwable`` es padre de la clase ``Exception`` y así sucesivamente. Como