非推奨のURLコンストラクターからURIへ
リソース識別子をURI値として解析・構成し、必要な場合にのみ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();
このコードに問題がありますか? お知らせください。
モダンな方法が優れている理由
非推奨APIを回避
非推奨のURLコンストラクターを使用せずに済みます。
予測可能なセマンティクス
URIの比較ではネットワークに依存する名前解決は行われません。
優れた構成
URIは識別子の解析と操作を目的として設計されています。
旧来のアプローチ
URLの直接生成
モダンなアプローチ
URIからURLへ変換
JDKバージョン
20
難易度
中級
JDKサポート
非推奨のURLコンストラクターからURIへ
利用可能
URLコンストラクターはJDK 20(2023年3月)以降、非推奨
仕組み
URLの解析と等価性にはプロトコルハンドラーに起因する予想外の動作があるため、URLコンストラクターはJDK 20で非推奨になりました。解析、構成、比較、正規化には、不変な表現であるURIが推奨されます。URLを要求するAPIでのみ変換してください。
関連ドキュメント
証明