I/O Średniozaawansowany

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.

✕ 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ć.
✅

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
Od przestarzałych konstruktorów URL do URI
Dostępne

Konstruktory URL są przestarzałe od JDK 20 (marzec 2023)

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.