public interface Path extends Comparable<Path>, Iterable<Path>, Watchable
Path
は、特別な区切り文字で区切られた一連のディレクトリ名およびファイル名の要素で構成される階層構造のパスを表します。ルート・コンポーネント (ファイル・システム階層を識別するもの)が存在する場合もあります。ディレクトリ階層のルートからもっとも遠い名前要素は、ファイルまたはディレクトリの名前です。その他の名前要素はディレクトリ名です。Path
は、ルート、ルートと一連の名前、または単に1つまたは複数の名前要素のみを表すことができます。Path
は、1つの空の名前要素のみで構成される場合は空のパスとみなされます。空のパスを使用してファイルにアクセスすることは、ファイル・システムのデフォルト・ディレクトリにアクセスすることと同じです。Path
は、パス・コンポーネントまたはその名前要素のサブシーケンスにアクセスするためのgetFileName
、getParent
、getRoot
、およびsubpath
メソッドを定義します。
Path
は、パス・コンポーネントにアクセスするほかに、パスを結合するためのresolve
およびresolveSibling
メソッドも定義します。relativize
メソッドを使用すると、2つのパス間の相対パスを構築できます。startsWith
およびendsWith
メソッドを使用してパスを相互に比較
したり、テストしたりできます。
このインタフェースは、Watchable
インタフェースを拡張して、パスで検索されるディレクトリをWatchService
と監視されるディレクトリ内のエントリに登録
できます。
警告: このインタフェースは、カスタム・ファイル・システムの実装を開発する人によって実装されることのみを目的としています。将来のリリースでは、このインタフェースにメソッドが追加される可能性があります。
Files
クラスでPathを使用することで、ファイル、ディレクトリ、およびその他の種類のファイルを操作できます。たとえば、BufferedReader
でファイル「access.log
」からテキストを読み取るとします。ファイルは、現在の作業ディレクトリからの相対ディレクトリ「logs
」にあり、UTF-8形式でエンコードされています。
Path path = FileSystems.getDefault().getPath("logs", "access.log"); BufferedReader reader = Files.newBufferedReader(path, StandardCharsets.UTF_8);
デフォルトプロバイダ
に関連付けられたPathは通常、java.io.File
クラスと相互運用可能です。ほかのプロバイダによって作成されたPathは、java.io.File
で表される抽象パス名と相互運用可能であることはまれです。toPath
メソッドを使用すると、java.io.File
オブジェクトで表される抽象パス名からPath
を取得できます。結果のPath
を使用すると、java.io.File
オブジェクトと同じファイルを操作できます。さらに、toFile
メソッドは、Path
のString
表現からFile
を構築するのに役立ちます。
このインタフェースの実装は不変であり、複数の並行スレッドで安全に使用できます。
Paths
修飾子と型 | メソッドと説明 |
---|---|
int |
compareTo(Path other)
2つの抽象パスを語彙的に比較します。
|
boolean |
endsWith(Path other)
このパスが、指定されたパスで終わるかどうかをテストします。
|
boolean |
endsWith(String other)
このパスが、
endsWith(Path) メソッドで指定されたとおりの方法で指定のパス文字列を変換することで構築される、Path で終わるかどうかをテストします。 |
boolean |
equals(Object other)
このパスが指定されたオブジェクトと等しいかどうかをテストします。
|
Path |
getFileName()
このパスが示すファイルまたはディレクトリの名前を
Path オブジェクトとして返します。 |
FileSystem |
getFileSystem()
このオブジェクトを作成したファイル・システムを返します。
|
Path |
getName(int index)
このパスの名前要素を
Path オブジェクトとして返します。 |
int |
getNameCount()
パス内の名前要素の数を返します。
|
Path |
getParent()
親のパスを返します。このパスが親を持たない場合は
null を返します。 |
Path |
getRoot()
このパスのルート・コンポーネントを
Path オブジェクトとして返します。このパスがルート・コンポーネントを持たない場合はnull を返します。 |
int |
hashCode()
このパスのハッシュ・コードを計算します。
|
boolean |
isAbsolute()
このパスが絶対かどうかを通知します。
|
Iterator<Path> |
iterator()
このパスの名前要素を処理するイテレータを返します。
|
Path |
normalize()
このパスから冗長な名前要素を削除したパスを返します。
|
WatchKey |
register(WatchService watcher, WatchEvent.Kind<?>... events)
このパスで検出されたファイルを監視サービスに登録します。
|
WatchKey |
register(WatchService watcher, WatchEvent.Kind<?>[] events, WatchEvent.Modifier... modifiers)
このパスで検出されたファイルを監視サービスに登録します。
|
Path |
relativize(Path other)
このパスと指定されたパスとの間の相対パスを構築します。
|
Path |
resolve(Path other)
指定されたパスをこのパスに対して解決します。
|
Path |
resolve(String other)
|
Path |
resolveSibling(Path other)
指定されたパスをこのパスの
親 パスに対して解決します。 |
Path |
resolveSibling(String other)
|
boolean |
startsWith(Path other)
このパスが、指定されたパスで始まるかどうかをテストします。
|
boolean |
startsWith(String other)
このパスが、
startsWith(Path) メソッドで指定されたとおりの方法で指定のパス文字列を変換することで構築される、Path で始まるかどうかをテストします。 |
Path |
subpath(int beginIndex, int endIndex)
このパスの名前要素のサブシーケンスである相対
Path を返します。 |
Path |
toAbsolutePath()
このパスの絶対パスを表す
Path オブジェクトを返します。 |
File |
toFile()
このパスを表す
File オブジェクトを返します。 |
Path |
toRealPath(LinkOption... options)
既存のファイルの実際のパスを返します。
|
String |
toString()
このパスの文字列表現を返します。
|
URI |
toUri()
このパスを表すURIを返します。
|
forEach, spliterator
FileSystem getFileSystem()
boolean isAbsolute()
絶対パスは完全であり、ファイルを見つけるためにほかのパス情報と組み合わせる必要はありません。
true
Path getRoot()
Path
オブジェクトとして返します。このパスがルート・コンポーネントを持たない場合はnull
を返します。null
Path getFileName()
Path
オブジェクトとして返します。このファイル名は、ディレクトリ階層のルートからもっとも遠い要素です。null
Path getParent()
null
を返します。
このパス・オブジェクトの親は、このパスのルート・コンポーネント(存在する場合)とパス内の各要素(ディレクトリ階層のルートからもっとも遠い要素を除く)で構成されます。このメソッドはファイル・システムにアクセスしません。つまり、パスまたはその親が存在しない可能性があります。さらに、このメソッドでは一部の実装で使用できる「.」や「..」などの特殊な名前を削除しません。たとえば、UNIXでは、「/a/b/c
」の親は「/a/b
」であり、「x/y/.
」の親は「x/y
」です。このメソッドをnormalize
メソッドとともに使用すると、シェルのようなナビゲーションが必要な場合に、冗長な名前を削除できます。
このパスに1つまたは複数の要素が含まれるが、ルート・コンポーネントがない場合、このメソッドは次の式の評価と同等になります。
subpath(0, getNameCount()-1);
int getNameCount()
0
Path getName(int index)
Path
オブジェクトとして返します。
index
パラメータは、返される名前要素のインデックスです。ディレクトリ階層のルートにもっとも近い要素のインデックスは0
になります。そのルートからもっとも遠い要素のインデックスは、要素数
-1
になります。
index
- 要素のインデックスIllegalArgumentException
- index
が負の値である場合、index
が要素数と等しいか、それよりも大きい場合、またはこのパスに名前要素が含まれていない場合Path subpath(int beginIndex, int endIndex)
Path
を返します。
beginIndex
およびendIndex
パラメータは、名前要素のサブシーケンスを指定します。ディレクトリ階層のルートにもっとも近い名前のインデックスは0
になります。そのルートからもっとも遠い名前のインデックスは、要素数
-1
になります。返されるPath
オブジェクトには、beginIndex
から始まり、インデックスendIndex-1
の要素にまで及ぶ名前要素が含まれます。
beginIndex
- 最初の要素のインデックス(これを含む)endIndex
- 最後の要素のインデックス(これを含まない)Path
の名前要素のサブシーケンスである新しいPath
オブジェクトIllegalArgumentException
- beginIndex
が負の値である場合、またはそれが要素数に等しいか、それよりも大きい場合。endIndex
がbeginIndex
に等しいか、それよりも小さい場合、またはそれが要素数よりも大きい場合。boolean startsWith(Path other)
このパスのルート・コンポーネントが指定されたパスのルート・コンポーネントで始まり、かつこのパスが指定されたパスと同じ名前要素で始まる場合、このパスは指定されたパスで始まります。指定されたパスにこのパスよりも多くの名前要素が含まれている場合は、false
が返されます。
このパスのルート・コンポーネントが指定されたパスのルート・コンポーネントで始まるかどうかは、ファイル・システムに固有です。このパスにルート・コンポーネントが含まれておらず、指定されたパスにルート・コンポーネントが含まれている場合、このパスは指定されたパスで始まりません。
指定されたパスがこのパスとは異なるFileSystem
に関連付けられている場合、false
が返されます。
other
- 指定されたパスtrue
このパスが、指定されたパスで始まる場合true、そうでない場合false
boolean startsWith(String other)
startsWith(Path)
メソッドで指定されたとおりの方法で指定のパス文字列を変換することで構築される、Path
で始まるかどうかをテストします。たとえば、UNIXでは、パス「foo/bar
」は「foo
」および「foo/bar
」で始まります。それは「f
」または「fo
」では始まりません。other
- 指定されたパス文字列true
、それ以外の場合はfalse
InvalidPathException
- パス文字列をPathに変換できない場合。boolean endsWith(Path other)
指定されたパスにはN個の要素が含まれていて、ルート・コンポーネントがなく、このパスにはN個以上の要素が含まれている場合、ルートからもっとも遠い要素で始まる、各パスの最後のN個の要素が等しければ、このパスは指定されたパスで終わります。
指定されたパスにルート・コンポーネントがある場合、このパスのルート・コンポーネントが指定されたパスのルート・コンポーネントで終わり、両方のパスの対応する要素が等しければ、このパスは指定されたパスで終わります。このパスのルート・コンポーネントが指定されたパスのルート・コンポーネントで終わるかどうかは、ファイル・システムに固有です。このパスにルート・コンポーネントが含まれず、指定されたパスにルート・コンポーネントが含まれている場合、このパスは指定されたパスで終わりません。
指定されたパスがこのパスとは異なるFileSystem
に関連付けられている場合、false
が返されます。
other
- 指定されたパスtrue
、それ以外の場合はfalse
boolean endsWith(String other)
endsWith(Path)
メソッドで指定されたとおりの方法で指定のパス文字列を変換することで構築される、Path
で終わるかどうかをテストします。たとえば、UNIXでは、パス「foo/bar
」は「foo/bar
」および「bar
」で終わります。それは「r
」または「/bar
」では終わりません。末尾の区切り文字は考慮されないため、このメソッドをPath
"foo/bar
"に対してString
"bar/
"で呼び出すと、true
が返されます。other
- 指定されたパス文字列true
、それ以外の場合はfalse
InvalidPathException
- パス文字列をPathに変換できない場合。Path normalize()
このメソッドの正確な定義は実装に依存しますが、通常、それはこのパス(冗長な名前要素を含まないパス)から派生しています。多くのファイル・システムでは、「.
」および「..
」は現在のディレクトリおよび親ディレクトリを示すために使われる特殊な名前です。そのようなファイル・システムでは、「.
」のオカレンスはすべて冗長とみなされます。「..
」の直前に「..
」以外の名前が存在する場合、その両方の名前が冗長とみなされます(そのような名前を識別するプロセスが該当しなくなるまで繰り返される)。
このメソッドはファイル・システムにアクセスしません。つまり、そのパスは存在しているファイルを検出しない可能性があります。「..
」とそれに先行する名前をパスから削除すると、元のパスとは異なるファイルを検出するパスが生じる可能性があります。これは、先行する名前がシンボリック・リンクの場合に発生することがあります。
getParent()
, toRealPath(java.nio.file.LinkOption...)
Path resolve(Path other)
other
パラメータが絶対
パスである場合、このメソッドは普通にother
を返します。other
が空のパスである場合、このメソッドは普通にこのパスを返します。それ以外の場合、このメソッドはこのパスをディレクトリとみなし、指定されたパスをこのパスに対して解決します。もっとも単純なのは、指定されたパスにルート
コンポーネントがない場合です。その場合、このメソッドは指定されたパスをこのパスに結合し、指定されたパスで終わる
パスを結果として返します。指定されたパスにルート・コンポーネントがある場合、解決は実装に大きく依存するため、未指定です。
other
- このパスに対して解決するパスrelativize(java.nio.file.Path)
Path resolve(String other)
Path
に変換してから、resolve
メソッドで指定されたとおりの方法で、このPath
に対して解決します。たとえば、名前区切り文字が「/
」で、パスが「foo/bar
」を表すとします。このメソッドをパス文字列「gus
」で呼び出すと、結果はPath
"foo/bar/gus
"となります。other
- このパスに対して解決するパス文字列InvalidPathException
- パス文字列をPathに変換できない場合。FileSystem.getPath(java.lang.String, java.lang.String...)
Path resolveSibling(Path other)
親
パスに対して解決します。これは、ファイル名を別のファイル名に置き換える必要がある場合に役立ちます。たとえば、名前区切り文字が「/
」で、パスが「dir1/dir2/foo
」を表すとします。このメソッドをPath
"bar
"で呼び出すと、結果はPath
"dir1/dir2/bar
"となります。このパスに親パスが含まれていない場合、またはother
が絶対
パスである場合、このメソッドはother
を返します。other
が空のパスである場合、このメソッドはこのパスの親を返し、このパスに親がない場合は、空のパスを返します。other
- このパスの親に対して解決するパスresolve(Path)
Path resolveSibling(String other)
other
- このパスの親に対して解決するパス文字列InvalidPathException
- パス文字列をPathに変換できない場合。FileSystem.getPath(java.lang.String, java.lang.String...)
Path relativize(Path other)
相対化は、解決
の逆です。このメソッドは、このパスに対して解決
すると指定されたパスと同じファイルを検出するパスを生成する、相対
パスを構築しようとします。たとえば、UNIXでは、このパスが"/a/b"
で、指定されたパスが"/a/b/c/d"
である場合、結果となる相対パスは"c/d"
になります。このパスと指定されたパスにルート
コンポーネントがない場合は、相対パスを構築できます。それらのパスのどちらか一方だけにルート・コンポーネントがある場合は、相対パスを構築できません。両方のパスにルート・コンポーネントがある場合、相対パスを構築できるかどうかは実装に依存します。このパスと指定されたパスが等しい
場合は、空のパスが返されます。
2つの正規化された
パスpとqについて(ここでのqにはルート・コンポーネントがありません)、次が成り立ちます。
p.relativize(p.resolve(q)).equals(q)
シンボリック・リンクがサポートされている場合、このパスに対して解決すると、結果となるパスが、other
と同じ
ファイルの検出に使用できるパスを生成するかどうかは実装に依存します。たとえば、このパスが"/a/b"
で、指定されたパスが"/a/x"
である場合、結果となる相対パスは"../x"
になります。"b"
がシンボリック・リンクの場合、"a/b/../x"
が"/a/x"
と同じファイルを検出するかどうかは実装に依存します。
other
- このパスに対して相対化するパスIllegalArgumentException
- other
がこのパスに対して相対化できるPath
でない場合URI toUri()
このメソッドは、プロバイダを識別するURIスキームに等しいスキーム
を使用して、絶対URI
を構築します。スキーム固有の部分の正確な形式はプロバイダに大きく依存します。
デフォルト・プロバイダの場合、URIは絶対であるパス
コンポーネントを含む階層URIです。クエリーおよびフラグメント・コンポーネントは未定義です。機関コンポーネントが定義されているかどうかは、実装に依存します。URI
がjava.io.File
の構築に使用できるという保証はありません。特に、このパスが汎用命名規則(UNC)パスを表す場合は、UNCサーバー名を結果となるURIの機関コンポーネントでエンコードできます。デフォルト・プロバイダで、ファイルが存在し、そのファイルがディレクトリであると判定できる場合、結果となるURI
はスラッシュで終わります。
デフォルト・プロバイダは同様のラウンド・トリップの保証をFile
クラスに提供します。Path
pが指定された場合は、次が保証されます。
この例の場合、元のPaths.get
(p.toUri()).equals(p .toAbsolutePath
())
Path
、URI
、および新しいPath
は、同じJava仮想マシンの複数の呼出しで作成する必要があります。ほかのプロバイダが保証を行うかどうかはプロバイダによって異なるため、未指定です。
ファイルの内容にファイル・システムとしてアクセスするためのファイル・システムが構築される場合、返されるURIがそのファイル・システム内の指定されたパスを表すか、または包含するファイル・システムのURIをエンコードする複合 URIを表すかは、実装によって大きく異なります。このリリースでは、複合URIの形式は定義されていません。そのようなスキームは、将来のリリースで追加される可能性があります。
IOError
- 絶対パスの取得中に入出力エラーが発生した場合、またはファイルの内容にファイル・システムとしてアクセスするためのファイル・システムが構築され、包含するファイル・システムのURIを取得できない場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされていて、そのtoAbsolutePath
メソッドがセキュリティ例外をスローする場合。Path toAbsolutePath()
Path
オブジェクトを返します。
このパスがすでに絶対
である場合、このメソッドは単にこのパスを返すだけです。それ以外の場合、このメソッドはそのパスを実装に依存した方法で(通常はそのパスをファイル・システムのデフォルト・ディレクトリに対して解決することによって)解決します。実装によっては、このメソッドはファイル・システムにアクセスできない場合に入出力エラーをスローすることがあります。
Path
オブジェクトIOError
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされていて、このパスが絶対でない場合、セキュリティ・マネージャのcheckPropertyAccess
メソッドが呼び出されてシステム・プロパティuser.dir
へのアクセスがチェックされるPath toRealPath(LinkOption... options) throws IOException
このメソッドの正確な定義は実装に依存しますが、通常、それはこのパス(このパスと同じ
ファイルを検出するが、ディレクトリおよびファイルの実際の名前を表す名前要素を含む絶対
パス)から派生しています。たとえば、ファイル・システムに対するファイル名の比較で大文字と小文字が区別されない場合、名前要素は大文字と小文字の違いを実際に合わせて名前を表します。また、結果となるパスからは冗長な名前要素が削除されています。
このパスが相対である場合は、toAbsolutePath
メソッドを呼び出した場合と同様に、最初にその絶対パスが取得されます。
options
配列を使用すると、シンボリック・リンクの処理方法を指定できます。デフォルトでは、シンボリック・リンクはその最終ターゲットに解決されます。オプションNOFOLLOW_LINKS
が存在する場合、このメソッドはシンボリック・リンクを解決しません。一部の実装では、「..
」などの特殊な名前を使用して親ディレクトリを参照できます。実際のパスを取得しているときに、「..
」(また同等のもの)の直前に「..
」以外の名前が存在する場合は、実装によって通常、両方の名前が削除されます。シンボリック・リンクを解決していないときに、先行する名前がシンボリック・リンクである場合は、結果となるパスがこのパスと同じファイルを検出することが保証されていれば、それらの名前は削除されます。
options
- シンボリック・リンクの処理方法を示すオプションIOException
- ファイルが存在しないか、入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、そのcheckRead
メソッドが呼び出されてファイルへの読取りアクセスがチェックされ、このパスが絶対でない場合は、そのcheckPropertyAccess
メソッドが呼び出されてシステム・プロパティuser.dir
へのアクセスがチェックされるFile toFile()
File
オブジェクトを返します。このPath
がデフォルト・プロバイダに関連付けられている場合、このメソッドは、このパスのString
表現で構築されたFile
オブジェクトを返すことと同等です。
このパスがFile
toPath
メソッドを呼び出すことで作成された場合は、このメソッドによって返されたFile
オブジェクトが元のFile
に等しい
という保証はありません。
File
オブジェクトUnsupportedOperationException
- このPath
がデフォルト・プロバイダに関連付けられていない場合WatchKey register(WatchService watcher, WatchEvent.Kind<?>[] events, WatchEvent.Modifier... modifiers) throws IOException
このリリースでは、このパスは存在しているディレクトリを検出します。そのディレクトリは、ディレクトリ内のエントリを監視できるように監視サービスに登録されます。events
パラメータは登録するイベントであり、次のイベントを含めることができます。
ENTRY_CREATE
- エントリがディレクトリ内に作成または移動されたENTRY_DELETE
- エントリがディレクトリから削除または取り出されたENTRY_MODIFY
- ディレクトリ内のエントリが変更された これらのイベントのコンテキスト
は、このパスで検出されるディレクトリと、作成、削除、または変更されるディレクトリ・エントリを検出するパスとの間の相対パスになります。
イベントのセットには、列挙型のStandardWatchEventKinds
で定義されない実装固有の追加のイベントを含めることができます。
modifiers
パラメータは、ディレクトリの登録方法を修飾する修飾子を指定します。このリリースでは、標準修飾子は定義されていません。それには、実装固有の修飾子を含めることができます。
ファイルがシンボリック・リンクによって監視サービスに登録される場合、登録後も監視がそのシンボリック・リンクの存在に左右され続けるかどうかは実装に固有です。
register
、インタフェース: Watchable
watcher
- このオブジェクトを登録する監視サービスevents
- このオブジェクトを登録するべきイベントmodifiers
- オブジェクトの登録方法を修飾する修飾子(ある場合)UnsupportedOperationException
- 未サポートのイベントまたは修飾子が指定された場合IllegalArgumentException
- イベントまたは修飾子の無効な組み合わせが指定された場合ClosedWatchServiceException
- 監視サービスが閉じられている場合NotDirectoryException
- ディレクトリ内のエントリを監視するようにファイルが登録されているが、そのファイルがディレクトリではない場合(オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読取りアクセスがチェックされます。WatchKey register(WatchService watcher, WatchEvent.Kind<?>... events) throws IOException
このメソッド呼出しの動作は、次の呼出しの動作とまったく同一です。
watchable.register
(watcher, events, new WatchEvent.Modifier[0]);
使用例: エントリの作成、削除、および変更イベント用にディレクトリを登録するとします。
Path dir = ... WatchService watcher = ... WatchKey key = dir.register(watcher, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);
register
、インタフェース: Watchable
watcher
- このオブジェクトを登録する監視サービスevents
- このオブジェクトを登録するべきイベントUnsupportedOperationException
- サポートされていないイベントが指定された場合IllegalArgumentException
- イベントの無効な組み合わせが指定された場合ClosedWatchServiceException
- 監視サービスが閉じられている場合NotDirectoryException
- ディレクトリ内のエントリを監視するようにファイルが登録されているが、そのファイルがディレクトリではない場合(オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読取りアクセスがチェックされます。Iterator<Path> iterator()
イテレータによって返される最初の要素は、ディレクトリ階層のルートにもっとも近い名前要素を表し、2番目の要素は次にもっとも近い名前要素となり、以降も同様です。返される最後の要素は、このパスで示されるファイルまたはディレクトリの名前です。イテレータでは、ルート
コンポーネント(存在する場合)は返されません。
int compareTo(Path other)
このメソッドを使って異なるファイル・システム・プロバイダに関連付けられているパスを比較することはできません。
compareTo
、インタフェース: Comparable<Path>
other
- このパスと比較されるパス。等しい
場合はゼロ。このパスが引数より語彙的に小さい場合は負の値。このパスが引数より語彙的に大きい場合は正の値ClassCastException
- パスが異なるプロバイダに関連付けられている場合boolean equals(Object other)
指定されたオブジェクトがPathでないか、別のFileSystem
に関連付けられたPathである場合、このメソッドはfalse
を返します。
2つのパスが等しいかどうかは、ファイル・システムの実装によって異なります。それらのパスは大文字小文字の区別なく比較される場合も、大文字小文字を区別して比較される場合もあります。このメソッドはファイル・システムにアクセスしないため、ファイルが存在していなくてもかまいません。必要な場合は、isSameFile
メソッドを使用して2つのパスが同じファイルを検出するかどうかを確認できます。
このメソッドはObject.equals
の汎用規約を満たします。
equals
、クラス: Object
other
- このオブジェクトと比較するオブジェクトPath
と同じPath
である場合にのみtrue
Object.hashCode()
, HashMap
int hashCode()
ハッシュ・コードは、パスのコンポーネントに基づいており、Object.hashCode
メソッドの汎用規約を満たします。
hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.