Thread.State.WAITING の Javadoc 誤訳

Java の Thread の振る舞いで少しハマったので、忘れないうちにメモ。

Thread#getState() で取得可能なスレッドの状態いくつかあって、そのうち Object#wait() で無限に待っている状態であるかどうかを取得したい。

Javadoc の日本語版を見ると、スレッドの状態のひとつである Thread.State.WAITING は以下のような説明になっている。

待機中のスレッドのスレッド状態。スレッドは、次のメソッドのどれかを呼び出すために待機状態になっています

Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle

要するに、Object#wait() を呼び出す前の状態であるかのように書かれている。

英語版を見ると以下のとおりで、

Thread state for a waiting thread. A thread is in the waiting state due to calling one of the following methods:

Thread.State (Java Platform SE 6)

これを私が翻訳すると:

待機中のスレッドのスレッド状態。スレッドは、次のメソッドのどれかが呼び出されたことにより待機状態になります

であって、Object#wait() を呼び出した後のまさに待機状態であることが期待できる。