Clase de utilidad/método

Una clase de utilidad es una clase auxiliar con variables estáticas y métodos estáticos que realizan una lista específica de tareas relacionadas.

Veamos ejemplos de clases de utilidad estándar:

java.lang.matemáticas Esta clase, que puede realizar muchos cálculos matemáticos diferentes, nos proporciona algunas constantes matemáticas.
java.util.matrices La clase contiene varios métodos para trabajar con arreglos (como clasificarlos y buscarlos). Esta clase también tiene una fábrica estática que nos permite ver las matrices como listas.
java.lang.System Esta clase implementa métodos para trabajar con el sistema. La mayoría de las veces lo usamos para mostrar texto en la consola. Para hacer esto, hacemos referencia a la estáticaafueraque almacena un objeto PrintStream y llama a su método println ( System.out.println ).

También podemos crear una clase de utilidad nosotros mismos: para hacer esto, simplemente creamos una clase con los métodos públicos estáticos que necesitamos. Pero recuerde que debe tener una buena razón para crear una clase de utilidad. Por ejemplo, tal vez necesite usar el mismo método o conjunto de métodos para realizar una sola tarea (como un cálculo complejo) en varias clases diferentes.

Veamos un ejemplo de una clase de utilidad: la clase Paths .

Clase de rutas

Esta clase consta de un solo método de obtención estático que tiene dos variantes con diferentes listas de parámetros.

Los argumentos que podemos pasar al método get son:

get(Cadena primero, Cadena... más) Una ruta completa o una lista de nombres de directorios y (o) el archivo en el último argumento.
obtener (URI uri) una URI.

Esta clase de utilidad resuelve el problema de convertir una ruta (en forma de cadena) o URI en una ruta . Ya hemos explorado Path y entendemos por qué lo necesitamos y cómo podemos trabajar con él.

Da la casualidad de que a menudo tratamos con rutas en forma de cadenas o URI. Aquí es donde podemos usar los métodos de la clase de utilidad Paths .

Veamos ejemplos:

Ejemplo Comentario
Path path =
Paths.get("C:\\Users\\User\\Documents\\MyFile.txt");
Pasamos al método get una Cadena (la ruta al archivo) y obtenemos una Ruta . Entonces podemos trabajar con él según sea necesario.
Path path = Paths.get(URI.create("file:///Users/User/Code/MyClass.java"));
También se puede obtener una ruta a partir de un URI.
Path path = Paths.get(System.getProperty("user.home"),"documents", "document.txt");
Indicamos la secuencia de nombres de directorio y el nombre del archivo cuya ruta con necesidad.

Pero hay una advertencia aquí. Con la llegada de Java 11, cualquier implementación del método get llama a Path.of.

public static Path get(String first, String... more) {
    return Path.of(first, more);
}

public static Path get(URI uri) {
    return Path.of(uri);
}

Esta clase de utilidad puede declararse obsoleta, por lo que deberíamos usar Path.of en su lugar.

Antes Después
Path path =
Paths.get("C:\\Users\\User\\Documents\\MyFile.txt");
Path path =
Path.of("C:\\Users\\User\\Documents\\MyFile.txt");
Path path = Paths.get(URI.create("file:///Users/User/Code/MyClass.java"));
Path path = Path.of(URI.create("file:///Users/User/Code/MyClass.java"));
Path path = Paths.get(System.getProperty("user.home"),"documents", "document.txt");
ath path = Path.of(System.getProperty("user.home"),"documents", "document.txt");