import static, ¿para qué sirve?

Cuando trabajamos con Java, la palabra clave import nos facilita mucho la vida al permitirnos usar clases de otros paquetes sin tener que escribir su nombre completo cada vez. Por ejemplo, si queremos usar ArrayList que pertenece al paquete java.util, podemos importar todo el paquete con un asterisco y luego crear una lista sin complicaciones, así:

import java.util.*;

ArrayList<Integer> lista = new ArrayList<>();

Si no hiciéramos esto, tendríamos que escribir el nombre completo de la clase cada vez, como java.util.ArrayList<Integer>, lo cual es bastante engorroso y poco práctico.

Pero, ¿qué pasa cuando queremos usar métodos o atributos estáticos de una clase? Aquí es donde entra en juego import static. A diferencia del import normal, que importa clases, import static nos permite importar directamente métodos o atributos estáticos para usarlos sin tener que anteponer el nombre de la clase.

Por ejemplo, pensemos en el método estático asList de la clase Arrays. Normalmente, para convertir un array en una lista, escribiríamos:

List<String> lista = Arrays.asList("uno", "dos", "tres");

Si usamos import static para importar ese método, podemos llamarlo directamente sin el prefijo Arrays.:

import static java.util.Arrays.asList;

List<String> lista = asList("uno", "dos", "tres");

Esto hace que el código sea más limpio y legible, especialmente cuando usamos mucho esos métodos estáticos.

Además, import static acepta el uso del asterisco para importar todos los métodos y atributos estáticos de una clase. Esto es muy común en pruebas unitarias, donde solemos importar todos los métodos estáticos de la clase Assertions para poder usar aserciones sin prefijos:

import static org.junit.jupiter.api.Assertions.*;

assertEquals(5, suma(2, 3));

Sin embargo, hay que tener cuidado con esta práctica. Importar todo de forma estática puede hacer que el código sea confuso, porque puede no quedar claro de dónde vienen ciertos métodos o constantes. Por eso, es recomendable usar import static con moderación y preferir importar solo lo que realmente vamos a usar.

En resumen, import static es una herramienta muy útil para simplificar el uso de métodos y atributos estáticos, evitando tener que escribir constantemente el nombre de la clase. Nos ayuda a mantener el código más limpio y enfocado, sobre todo en contextos como pruebas unitarias o cuando trabajamos con constantes definidas en otras clases.

Lista de reproducción
  1. 1
    ¿Cómo funciona Comparator en Java?
    10 minutos
  2. 2
    ¿Para qué sirve Override?
    4 minutos
  3. 3
    Cómo usar la clase Properties en Java
    14 minutos
  4. 4
    Interfaces funcionales y funciones flecha
    8 minutos
  5. 5
    Bloque static de Java: inicializadores estáticos y otros usos
    7 minutos
  6. 6
    import static, ¿para qué sirve?
    3 minutos
  7. 7
    Uso de Optional en Java
    10 minutos
  8. 8
    Introducción al Scanner de Java
    11 minutos
  9. 9
    ¿Para qué sirve el modificador static de Java?
    6 minutos
  10. 10
    Funciones variádicas en Java
    6 minutos
  11. 11
    Inner classes en Java
    8 minutos
  12. 12
    var en Java: una introducción para gente nueva
    7 minutos
  13. 13
    Switch expressions en Java
    10 minutos
  14. 14
    Java: del instanceof al Pattern Matching
    7 minutos
  15. 15
    Sealed classes en Java
    8 minutos
  16. 16
    Getters y setters o atributos públicos en Java, ¿qué es mejor?
    9 minutos
  17. 17
    El String[] args del método main de Java
    8 minutos
  18. 18
    Introducción a clases anónimas en Java
    6 minutos
  19. 19
    Introducción a enum en Java
    6 minutos