Classe/méthode d'utilité

Une classe utilitaire est une classe d'assistance avec des variables statiques et des méthodes statiques qui exécutent une liste spécifique de tâches connexes.

Regardons des exemples de classes utilitaires standard :

java.lang.Math Cette classe, qui peut effectuer de nombreux calculs mathématiques différents, nous donne des constantes mathématiques.
java.util.Arrays La classe contient diverses méthodes pour travailler avec des tableaux (comme les trier et les rechercher). Cette classe possède également une fabrique statique qui nous permet de visualiser les tableaux sous forme de listes.
java.lang.System Cette classe implémente des méthodes pour travailler avec le système. Le plus souvent, nous l'utilisons pour afficher du texte sur la console. Pour ce faire, nous nous référons à la statiquedehorsvariable, qui stocke un objet PrintStream , et appelez sa méthode println ( System.out.println ).

On peut aussi créer soi-même une classe utilitaire : pour cela, il suffit de créer une classe avec les méthodes publiques statiques dont on a besoin. Mais rappelez-vous que vous devez avoir une bonne raison de créer une classe utilitaire. Par exemple, vous devrez peut-être utiliser la même méthode ou le même ensemble de méthodes pour effectuer une seule tâche (telle qu'un calcul complexe) dans plusieurs classes différentes.

Examinons un exemple de classe utilitaire — la classe Paths .

Classe Chemins

Cette classe se compose d'une seule méthode get statique qui a deux variantes avec des listes de paramètres différentes.

Les arguments que nous pouvons passer à la méthode get sont :

get(String first, String... plus) Un chemin complet ou une liste de noms de répertoires et (ou) le fichier en dernier argument.
obtenir (URI uri) Une URI.

Cette classe utilitaire résout le problème de conversion d'un chemin (sous la forme d'une chaîne) ou d'un URI en un Path . Nous avons déjà exploré Path et comprenons pourquoi nous en avons besoin et comment nous pouvons travailler avec.

Il se trouve que nous traitons souvent des chemins sous la forme de chaînes ou d'URI. C'est ici que nous pouvons utiliser les méthodes de la classe utilitaire Paths .

Regardons des exemples :

Exemple Commentaire

Path path =
Paths.get("C:\\Users\\User\\Documents\\MyFile.txt");
                    
Nous passons à la méthode get un String (le chemin d'accès au fichier) et obtenons un Path . Ensuite, nous pouvons travailler avec elle au besoin.

Path path = Paths.get(URI.create("file:///Users/User/Code/MyClass.java"));
                    
Un chemin peut également être obtenu à partir d'un URI.

Path path = Paths.get(System.getProperty("user.home"),"documents", "document.txt");
                    
Nous indiquons la séquence des noms de répertoires et le nom du fichier dont le chemin avec besoin.

Mais il y a une mise en garde ici. Avec l'arrivée de Java 11, toute implémentation de la méthode get appelle 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);
}
    

Cette classe utilitaire peut être déclarée obsolète, nous devrions donc utiliser Path.of à la place.

Avant Aprè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");