TechsMex

技術エンジニア C++/Python/Java

Java : Path.ofとPaths.ofの違い

概要

プロになるJava 12.1においてPath.ofメソッドが使われているが、Java11以前ではPaths.getメソッドを使用していた。 これらの違いについて調べてみた。

Paths.ofメソッドについて

公式リンク:docs.oracle.com Java 20現在、Paths.ofの内部実装ではPath.ofを呼び出しているだけである。 そのため、どちらを使っても本質的には変わらないと思われる。

導入の背景

Javaにofメソッドが追加された際の一貫性を保つために、Path.ofが追加された。

どちらを使うべきか

本メソッドの本質は与えた文字列をそのままPathに変換することなので、単純な変換を表すofメソッドの方が文脈上わかりやすいと思う。 当然、どちらを使ってもよい

その他

参考のStackOver Flowの参照リンクにおいてJava13においてはPaths.getは将来的に非推奨になる旨が書かれていた。 Java20のドキュメントについて本件を確認してみたが、特にそのような記述はなかった。 とはいえ、レガシーなコードでない限りPath.ofを使っていきたいと思う。

参考

Javaの Paths.get と Path.of はどちらを使っていますか?

java - Paths.get vs Path.of - Stack Overflow