簡體   English   中英

為什么java.nio.Paths.get(..)不將java.nio.Path對象作為輸入?

[英]Why does java.nio.Paths.get(..) does not take java.nio.Path objects as input?

我開始使用java.nio.* ,現在我很想知道:為什么java.nio.Paths.get(..)不將java.nio.Path對象作為輸入?

現在我一直在做這樣的事情:

final Path basePath = Paths.get("/some/base/path");
final Path filePath = Paths.get(basePath.toString(), "file.txt");

因此,或者我忽略了一些真正的基本知識,或者API設計人員完全忘記了此選項,我對此深表懷疑。

此類是一種創建Path對象的工廠方法,其目的在javadoc中明確指出:

此類由靜態方法組成,這些靜態方法通過轉換路徑字符串或URI 返回Path

如果我們已經有一個Path對象,那將是調用此方法的目標


要從基本Path解析資源Path ,則無需再次使用Paths類。
Path的方法提供了關於操作Path (比較, Path創建之間的兩個Path S,等。)作為Path解決。

Path resolve(Path other);

針對該路徑解析給定路徑。

或更簡單地說,它從其中兩個創建Path

假設位於D:/my-resources/one-resource

Path relativePathResource = Paths.get("one-resource");
Path absolutePathResource = Paths.get("D:/my-resources").resolve(resource);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM