JavaTM 2
Platform
Std. Ed. v1.4.0

java.net
クラス Inet6Address

java.lang.Object
  |
  +--java.net.InetAddress
        |
        +--java.net.Inet6Address
すべての実装インタフェース:
Serializable

public final class Inet6Address
extends InetAddress

このクラスは Internet Protocol バージョン 6 (IPv6) アドレスを表します。定義については、「RFC 2373: IP Version 6 Addressing Architecture」を参照してください。

IP アドレスのテキスト表現

メソッドの入力として使用される Ipv6 アドレスのテキスト表現は、次のいずれかの形式になります。
  1. 推奨される形式は x:x:x:x:x:x:x:x です。ここで、x は 8 つの 16 ビットアドレスの 16 進数値です。これが完全な形式です。たとえば、

    1080:0:0:0:8:800:200C:417A
    のようになります。

    個々のフィールドのゼロ埋め込みは必要ありません。ただし、次に説明する場合を除いて、各フィールドには少なくとも 1 つの数値が必要です。

  2. 特定のスタイルの IPv6 アドレスを割り当てる一部のメソッドのために、0 ビットの長い文字列を含むアドレスが一般的です。0 ビットを含むアドレスの書き込みを簡単にするために、特別な構文を使用して 0 を圧縮できます。「::」の使用は、複数のグループの 16 ビットの 0 を示します。「::」はアドレス内に 1 度だけ使用できます。また、「::」を使用して、アドレス内の先頭または末尾の 0 を圧縮することもできます。たとえば、

    1080::8:800:200C:417A
    のようになります。
  3. IPv4 および IPv6 ノードが混在する環境に対応する場合にさらに便利な代替形式が x:x:x:x:x:x:d.d.d.d です。ここで、x は上位 6 つの 16 ビットアドレスの 16 進数値で、d は下位 4 つの 8 ビット標準 IPv4 表現アドレスの十進数値です。たとえば、

    ::FFFF:129.144.52.38
    ::129.144.52.38
    のようになります。

    ここで、「::FFFF:d.d.d.d」および「::d.d.d.d」は、それぞれ IPv4 マップの IPv6 アドレスおよび IPv4 互換の IPv6 アドレスの一般的な形式です。IPv4 の部分は「d.d.d.d」の形式内になければなりません。

    ::FFFF:d.d.d
    ::FFFF:d.d
    ::d.d.d
    ::d.d
    の形式は無効です。

    ::FFFF:d
    の形式は

    有効です。ただし、これは IPv4 互換の IPv6 アドレス

    ::255.255.0.d
    の規則に従っていない表現です。

    ここで、「::d」は一般的な IPv6 アドレス「0:0:0:0:0:0:0:d」に対応します。

テキスト表現を出力値として返すメソッドの場合は、完全な形式が使用されます。Inet6Addres は、ほかのテキストデータと組み合わせて使用すると明確なので、完全な形式を返します。

特殊な IPv6 アドレス

IPv4 マップのアドレス ::ffff:w.x.y.z という形式の IPv6 アドレスは、IPv4 アドレスを表すのに使用されます。このアドレスにより、IPv4 と IPv6 の両方のノードと通信するときに、ネイティブプログラムは同じアドレスデータ構造を使用することができ、同じソケットを使用することもできます。

InetAddress と Inet6Address では、このアドレスは内部表現に使用され、機能上の役割はありません。Java は IPv4 マップのアドレスを返しません。これらのクラスは、IPv4 マップのアドレスをバイト配列とテキスト表現の両方で入力として使用できます。ただし、IPv4 マップのアドレスは IPv4 アドレスに変換されます。

関連項目:
直列化された形式

メソッドの概要
 boolean equals(Object obj)
          このオブジェクトと指定されたオブジェクトとを比較します。
 byte[] getAddress()
          この InetAddress オブジェクトの IP アドレスをそのまま返します。
 String getHostAddress()
          テキスト表現の IP アドレス文字列を返します。
 int hashCode()
          この IP アドレスのハッシュコードを返します。
 boolean isAnyLocalAddress()
          InetAddress がワイルドカードアドレスかどうかを調べるユーティリティルーチンです。
 boolean isIPv4CompatibleAddress()
          InetAddress が IPv4 互換の IPv6 アドレスかどうかを調べるユーティリティルーチンです。
 boolean isLinkLocalAddress()
          InetAddress がリンクローカルアドレスかどうかを調べるユーティリティルーチンです。
 boolean isLoopbackAddress()
          InetAddress がループバックアドレスかどうかを調べるユーティリティルーチンです。
 boolean isMCGlobal()
          マルチキャストアドレスにグローバルスコープがあるかどうかを調べるユーティリティルーチンです
 boolean isMCLinkLocal()
          マルチキャストアドレスにリンクスコープがあるかどうかを調べるユーティリティルーチンです
 boolean isMCNodeLocal()
          マルチキャストアドレスにノードスコープがあるかどうかを調べるユーティリティルーチンです
 boolean isMCOrgLocal()
          マルチキャストアドレスに組織スコープがあるかどうかを調べるユーティリティルーチンです
 boolean isMCSiteLocal()
          マルチキャストアドレスにサイトスコープがあるかどうかを調べるユーティリティルーチンです
 boolean isMulticastAddress()
          InetAddress が IP マルチキャストアドレスかどうかを調べるユーティリティルーチンです。
 boolean isSiteLocalAddress()
          InetAddress がサイトローカルアドレスかどうかを調べるユーティリティルーチンです。
 
クラス java.net.InetAddress から継承したメソッド
getAllByName, getByAddress, getByAddress, getByName, getCanonicalHostName, getHostName, getLocalHost, toString
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

メソッドの詳細

isMulticastAddress

public boolean isMulticastAddress()
InetAddress が IP マルチキャストアドレスかどうかを調べるユーティリティルーチンです。アドレス開始点の 11111111 によって、アドレスがマルチキャストアドレスであることが識別されます。

オーバーライド:
クラス InetAddress 内の isMulticastAddress
戻り値:
InetAddress が IP マルチキャストアドレスかどうかを示す boolean
導入されたバージョン:
JDK1.1

isAnyLocalAddress

public boolean isAnyLocalAddress()
InetAddress がワイルドカードアドレスかどうかを調べるユーティリティルーチンです。

オーバーライド:
クラス InetAddress 内の isAnyLocalAddress
戻り値:
InetAddress がワイルドカードアドレスかどうかを示す boolean
導入されたバージョン:
1.4

isLoopbackAddress

public boolean isLoopbackAddress()
InetAddress がループバックアドレスかどうかを調べるユーティリティルーチンです。

オーバーライド:
クラス InetAddress 内の isLoopbackAddress
戻り値:
InetAddress がループバックアドレスかどうかを示す boolean。ループバックアドレスでない場合は false
導入されたバージョン:
1.4

isLinkLocalAddress

public boolean isLinkLocalAddress()
InetAddress がリンクローカルアドレスかどうかを調べるユーティリティルーチンです。

オーバーライド:
クラス InetAddress 内の isLinkLocalAddress
戻り値:
InetAddress がリンクローカルアドレスかどうかを示す boolean。アドレスがリンクローカルユニキャストアドレスでない場合は false
導入されたバージョン:
1.4

isSiteLocalAddress

public boolean isSiteLocalAddress()
InetAddress がサイトローカルアドレスかどうかを調べるユーティリティルーチンです。

オーバーライド:
クラス InetAddress 内の isSiteLocalAddress
戻り値:
InetAddress がサイトローカルアドレスかどうかを示す boolean。アドレスがサイトローカルユニキャストアドレスでない場合は false
導入されたバージョン:
1.4

isMCGlobal

public boolean isMCGlobal()
マルチキャストアドレスにグローバルスコープがあるかどうかを調べるユーティリティルーチンです

オーバーライド:
クラス InetAddress 内の isMCGlobal
戻り値:
アドレスがグローバルスコープのマルチキャストアドレスであるかどうかを示す boolean。アドレスがグローバルスコープでない場合、あるいはマルチキャストアドレスでない場合は false
導入されたバージョン:
1.4

isMCNodeLocal

public boolean isMCNodeLocal()
マルチキャストアドレスにノードスコープがあるかどうかを調べるユーティリティルーチンです

オーバーライド:
クラス InetAddress 内の isMCNodeLocal
戻り値:
アドレスがノードローカルスコープのマルチキャストアドレスであるかどうかを示す boolean。アドレスがノードローカルスコープでない場合、あるいはマルチキャストアドレスでない場合は false
導入されたバージョン:
1.4

isMCLinkLocal

public boolean isMCLinkLocal()
マルチキャストアドレスにリンクスコープがあるかどうかを調べるユーティリティルーチンです

オーバーライド:
クラス InetAddress 内の isMCLinkLocal
戻り値:
アドレスがリンクローカルスコープのマルチキャストアドレスであるかどうかを示す boolean。アドレスがリンクローカルスコープでない場合、あるいはマルチキャストアドレスでない場合は false
導入されたバージョン:
1.4

isMCSiteLocal

public boolean isMCSiteLocal()
マルチキャストアドレスにサイトスコープがあるかどうかを調べるユーティリティルーチンです

オーバーライド:
クラス InetAddress 内の isMCSiteLocal
戻り値:
アドレスがサイトローカルスコープのマルチキャストアドレスであるかどうかを示す boolean。アドレスがサイトローカルスコープでない場合、あるいはマルチキャストアドレスでない場合は false
導入されたバージョン:
1.4

isMCOrgLocal

public boolean isMCOrgLocal()
マルチキャストアドレスに組織スコープがあるかどうかを調べるユーティリティルーチンです

オーバーライド:
クラス InetAddress 内の isMCOrgLocal
戻り値:
アドレスが組織ローカルスコープのマルチキャストアドレスであるかどうかを示す boolean。アドレスが組織ローカルスコープでない場合、あるいはマルチキャストアドレスでない場合は false
導入されたバージョン:
1.4

getAddress

public byte[] getAddress()
この InetAddress オブジェクトの IP アドレスをそのまま返します。結果は、ネットワークバイト順序に従って返されます。アドレスの最上位バイトが getAddress()[0] になります。

オーバーライド:
クラス InetAddress 内の getAddress
戻り値:
このオブジェクトの IP アドレス

getHostAddress

public String getHostAddress()
テキスト表現の IP アドレス文字列を返します。

オーバーライド:
クラス InetAddress 内の getHostAddress
戻り値:
IP アドレスの文字列形式

hashCode

public int hashCode()
この IP アドレスのハッシュコードを返します。

オーバーライド:
クラス InetAddress 内の hashCode
戻り値:
この IP アドレスのハッシュコード値

equals

public boolean equals(Object obj)
このオブジェクトと指定されたオブジェクトとを比較します。引数が null ではなく、このオブジェクトと同じ IP アドレスを表すオブジェクトの場合にだけ、結果が true になります。

getAddress によって返されるバイト配列の長さが同じであり、バイト配列の各要素が同じである場合、2 つの InetAddress のインスタンスは同じ IP アドレスを表しています。

オーバーライド:
クラス InetAddress 内の equals
パラメータ:
obj - 比較対象のオブジェクト
戻り値:
オブジェクトが同じである場合は true、そうでない場合は false
関連項目:
InetAddress.getAddress()

isIPv4CompatibleAddress

public boolean isIPv4CompatibleAddress()
InetAddress が IPv4 互換の IPv6 アドレスかどうかを調べるユーティリティルーチンです。

戻り値:
InetAddress が IPv4 互換の IPv6 アドレスであるかどうかを示す boolean。アドレスが IPv4 アドレスの場合は false
導入されたバージョン:
1.4

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.