Od przestarzałych konstruktorów URL do URI
Analizuj i składaj identyfikatory zasobów jako wartości URI, a dopiero w razie potrzeby konwertuj je do URL.
Porównanie kodu
✕ Deprecated URL constructor
URL endpoint =
new URL("https://example.com/api?q=java");
✓ Java 20+
URI endpointUri =
URI.create("https://example.com/api?q=java");
URL endpoint = endpointUri.toURL();
Widzisz problem z tym kodem? Daj nam znać.
Dlaczego nowoczesne podejście wygrywa
Bez przestarzałego API
Eliminuje użycie przestarzałych konstruktorów URL.
Przewidywalna semantyka
Porównywanie URI nie wykonuje rozwiązywania zależnego od sieci.
Lepsze składanie
URI zaprojektowano do analizowania identyfikatorów i manipulowania nimi.
Stare podejście
Bezpośrednie tworzenie URL
Nowoczesne podejście
Najpierw URI, potem URL
Od JDK
20
Poziom trudności
Średniozaawansowany
Wsparcie JDK
Od przestarzałych konstruktorów URL do URI
Dostępne
Konstruktory URL są przestarzałe od JDK 20 (marzec 2023)
Jak to działa
Konstruktory URL oznaczono jako przestarzałe w JDK 20, ponieważ analizowanie i porównywanie URL wiąże się z zaskakującym zachowaniem handlerów protokołów. URI jest preferowaną niemutowalną reprezentacją do analizowania, składania, porównywania i normalizacji; konwertuj ją tylko dla API wymagających URL.
Powiązana dokumentacja
Dowód