Von veralteten URL-Konstruktoren zu URI
Ressourcenbezeichner als URI-Werte parsen und zusammensetzen, bevor sie bei Bedarf in URL umgewandelt werden.
Code-Vergleich
✕ 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.
Warum der moderne Weg gewinnt
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
JDK-Unterstützung
Von veralteten URL-Konstruktoren zu URI
Verfügbar
URL-Konstruktoren sind seit JDK 20 veraltet (März 2023)
Wie es funktioniert
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.
Zugehörige Dokumentation
Beweis