Klasa użyteczności i metoda

Klasa użyteczności to klasa pomocnicza zawierająca zmienne statyczne i metody statyczne, które wykonują określoną listę zadań połączonych jednym znaczeniem.

Spójrzmy na przykłady standardowych klas użyteczności:

java.lang.Math Klasa, która może wykonywać wiele różnych obliczeń matematycznych, daje nam pewne stałe matematyczne.
java.util.Arrays Klasa zawiera różne metody pracy z tablicami (takie jak sortowanie i wyszukiwanie). Ta klasa zawiera również statyczną fabrykę, która umożliwia wyświetlanie tablic jako list.
java.lang.System Klasa implementuje metody pracy z systemem. Najczęściej możemy go użyć do wyświetlenia tekstu w konsoli. W tym celu odwołujemy się do zmiennej statycznejna zewnątrz, który przechowuje obiekt klasy PrintStream i już z niego wywołujemy metodę println ( System.out.println ) .

Możemy również sami stworzyć klasę użytkową: w tym celu po prostu tworzymy klasę ze statycznymi metodami publicznymi , których potrzebujemy. Ale musisz pamiętać, że potrzebujesz dobrego powodu, aby stworzyć klasę użytkową. Na przykład potrzeba użycia tej samej metody lub zestawu metod, które wykonują pojedyncze zadanie (powiedzmy złożone obliczenia) z kilku różnych klas.

Spójrzmy na przykład klasy użytkowej, Paths .

Klasa ścieżki

Ta klasa składa się tylko z jednej metody statycznej - get - z różnymi akceptowanymi parametrami.

Możemy przejść do metody get :

get(Najpierw ciąg znaków, ciąg znaków... więcej) Ścieżka jako całość lub lista nazw katalogów i (lub) plików w ostatnim argumencie.
get(identyfikator URI) URI.

Ta klasa narzędziowa rozwiązuje problem konwersji ścieżki (jako ciągu znaków) lub URI na Path . Ścieżka, którą już przeszliśmy i rozumiemy, dlaczego jej potrzebujemy i jak możemy dalej z nią pracować.

Często zdarza się, że mamy do czynienia ze ścieżką w postaci Stringa lub URI. Tutaj możemy skorzystać z metod klasy narzędziowej Paths .

Spójrzmy na przykłady:

Przykład Komentarz

Path path =
Paths.get("C:\\Users\\User\\Documents\\MyFile.txt");
                    
Przekazujemy String (ścieżkę do pliku) do metody get i pobieramy wygenerowaną Path . Wtedy możemy z nim pracować.

Path path = Paths.get(URI.create("file:///Users/User/Code/MyClass.java"));
                    
Ścieżkę można również uzyskać z utworzonego identyfikatora URI.

Path path = Paths.get(System.getProperty("user.home"),"documents", "document.txt");
                    
Wskazujemy kolejno nazwy katalogu i pliku, do którego musimy uzyskać ścieżkę.

Ale tak naprawdę jest jedno zastrzeżenie. Wraz z pojawieniem się Javy 11 każda implementacja metody get wywołuje sama w sobie 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);
}
    

Teraz ta klasa narzędziowa może być przestarzała, więc powinniśmy użyć Path.of do naszych celów.

Był Stało się

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