Dienstprogrammklasse/-methode

Eine Utility-Klasse ist eine Hilfsklasse mit statischen Variablen und statischen Methoden, die eine bestimmte Liste verwandter Aufgaben ausführen.

Schauen wir uns Beispiele für Standard-Dienstprogrammklassen an:

java.lang.Math Diese Klasse, die viele verschiedene mathematische Berechnungen durchführen kann, liefert uns einige mathematische Konstanten.
java.util.Arrays Die Klasse enthält verschiedene Methoden zum Arbeiten mit Arrays (z. B. Sortieren und Durchsuchen). Diese Klasse verfügt außerdem über eine statische Factory, mit der wir Arrays als Listen anzeigen können.
java.lang.System Diese Klasse implementiert Methoden für die Arbeit mit dem System. Am häufigsten verwenden wir es, um Text auf der Konsole anzuzeigen. Dazu referenzieren wir die StatikausVariable, die ein PrintStream- Objekt speichert, und rufen Sie dessen println- Methode ( System.out.println ) auf.

Wir können auch selbst eine Utility-Klasse erstellen: Dazu erstellen wir einfach eine Klasse mit den statischen öffentlichen Methoden, die wir benötigen. Denken Sie jedoch daran, dass Sie einen guten Grund für die Erstellung einer Utility-Klasse haben sollten. Beispielsweise müssen Sie möglicherweise dieselbe Methode oder denselben Methodensatz verwenden, um eine einzelne Aufgabe (z. B. eine komplexe Berechnung) in mehreren verschiedenen Klassen auszuführen.

Schauen wir uns ein Beispiel einer Utility-Klasse an – die Paths- Klasse.

Klasse „Pfade“.

Diese Klasse besteht aus nur einer statischen Get- Methode, die zwei Varianten mit unterschiedlichen Parameterlisten hat.

Die Argumente, die wir an die get- Methode übergeben können, sind:

get(String zuerst, String... mehr) Ein ganzer Pfad oder eine Liste mit Namen von Verzeichnissen und (oder) der Datei im letzten Argument.
get(URI uri) Ein URI.

Diese Dienstprogrammklasse löst das Problem der Konvertierung eines Pfads (in Form einer Zeichenfolge) oder eines URI in einen Path . Wir haben Path bereits erkundet und verstehen, warum wir es brauchen und wie wir damit arbeiten können.

Tatsächlich haben wir es oft mit Pfaden in Form von Strings oder URIs zu tun. Hier können wir die Methoden der Paths- Dienstprogrammklasse verwenden.

Schauen wir uns Beispiele an:

Beispiel Kommentar

Path path =
Paths.get("C:\\Users\\User\\Documents\\MyFile.txt");
                    
Wir übergeben der Get- Methode einen String (den Pfad zur Datei) und erhalten einen Path . Dann können wir nach Bedarf damit arbeiten.

Path path = Paths.get(URI.create("file:///Users/User/Code/MyClass.java"));
                    
Ein Pfad kann auch von einem URI abgerufen werden.

Path path = Paths.get(System.getProperty("user.home"),"documents", "document.txt");
                    
Wir geben die Reihenfolge der Verzeichnisnamen und den Namen der Datei an, deren Pfad Sie benötigen.

Aber hier gibt es einen Vorbehalt. Mit der Einführung von Java 11 ruft jede Implementierung der get- Methode Path.of auf .


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

Diese Dienstprogrammklasse wird möglicherweise als veraltet erklärt, daher sollten wir stattdessen Path.of verwenden.

Vor Nach

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");