I/O Fortgeschritten

Ressourcenbezeichner als URI-Werte parsen und zusammensetzen, bevor sie bei Bedarf in URL umgewandelt werden.

✕ 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();
Problem mit diesem Code entdeckt? Sag uns Bescheid.
✅

Vermeidet veraltete APIs

Entfernt die Verwendung veralteter URL-Konstruktoren.

🧠

Vorhersehbare Semantik

Der URI-Vergleich führt keine netzwerkabhängige Auflösung durch.

🧩

Bessere Zusammensetzung

URI ist für das Parsen und Bearbeiten von Bezeichnern konzipiert.

Alter Ansatz
Direkte URL-Erstellung
Moderner Ansatz
Erst URI, dann URL
Seit JDK
20
Schwierigkeitsgrad
Fortgeschritten
Von veralteten URL-Konstruktoren zu URI
Verfügbar

URL-Konstruktoren sind seit JDK 20 veraltet (März 2023)

URL-Konstruktoren wurden in JDK 20 als veraltet markiert, weil das Parsen und die Gleichheitsprüfung von URLs überraschendes Verhalten durch Protokoll-Handler aufweisen. URI ist die bevorzugte unveränderliche Repräsentation zum Parsen, Zusammensetzen, Vergleichen und Normalisieren; eine Umwandlung sollte nur für APIs erfolgen, die URL benötigen.