モジュール java.base
パッケージ java.net

クラスInet4Address

java.lang.Object
java.net.InetAddress
java.net.Inet4Address
すべての実装されたインタフェース:
Serializable

public final class Inet4Address
extends InetAddress
このクラスは、インターネット・プロトコル・バージョン4 (IPv4)アドレスを表します。 RFC 790: Assigned NumbersRFC 1918: Address Allocation for Private Internets、およびRFC 2365: Administratively Scoped IP Multicastで規定されています。

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

メソッドの入力として使用されるIPv4アドレスのテキスト表現は、次のいずれかの形式になります。
  • d.d.d.d
  • d.d.d
  • d.d
  • d

4つの部分が指定されると、各部分がデータのバイトとして解釈され、左から右へ、IPv4アドレスの4つのバイトに割り当てられます。

3つの部分から成るアドレスが指定された場合、その最後の部分が16ビット・データとして解釈され、ネットワーク・アドレスの右側の2バイトに配置されます。 このため、3つの部分から成るアドレスの形式は、Class Bのネットワーク・アドレスを128.net.hostとして指定する際に役立ちます。

2つの部分から成るアドレスが指定された場合、その最後の部分が24ビット・データとして解釈され、ネットワーク・アドレスの右側の3バイトに配置されます。 このため、2つの部分から成るアドレスの形式は、Class Aのネットワーク・アドレスをnet.hostとして指定する際に役立ちます。

1つの部分だけが指定されると、その値は直接ネットワーク・アドレスに格納され、バイトの再配置は行われません。

テキスト表現を出力値として返すメソッドでは、最初の形式、つまりドットで区切られた4部から成る文字列が使用されます。

マルチキャスト・アドレスのスコープ

歴史的に、IPヘッダーのIPv4 TTLフィールドはマルチキャスト・スコープ・フィールドとして2倍になりました。0のTTLはノード・ローカル、1はリンク・ローカル、32まではサイト・ローカル、64までは地域ローカル、128までは大陸ローカル、255まではグローバルを意味します。 ただし、管理スコープが優先されます。 RFC 2365: Administratively Scoped IP Multicast」を参照してください。
導入されたバージョン:
1.4
関連項目:
直列化された形式
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    boolean equals​(Object obj)
    このオブジェクトと指定されたオブジェクトを比較します。
    byte[] getAddress()
    このInetAddressオブジェクトの生のIPアドレスを返します。
    String getHostAddress()
    テキスト表現形式のIPアドレス文字列を返します。
    int hashCode()
    このIPアドレスのハッシュ・コードを返します。
    boolean isAnyLocalAddress()
    InetAddressがワイルドカード・アドレスかどうかを調べるユーティリティ・ルーチン。
    boolean isLinkLocalAddress()
    InetAddressがリンク・ローカル・アドレスかどうかを調べるユーティリティ・ルーチンです。
    boolean isLoopbackAddress()
    InetAddressがループバック・アドレスかどうかを調べるユーティリティ・ルーチンです。
    boolean isMCGlobal()
    マルチキャスト・アドレスにグローバル・スコープがあるかどうかを調べるユーティリティ・ルーチンです。
    boolean isMCLinkLocal()
    マルチキャスト・アドレスにリンク・スコープがあるかどうかを調べるユーティリティ・ルーチンです。
    boolean isMCNodeLocal()
    マルチキャスト・アドレスにノード・スコープがあるかどうかを調べるユーティリティ・ルーチンです。
    boolean isMCOrgLocal()
    マルチキャスト・アドレスに組織スコープがあるかどうかを調べるユーティリティ・ルーチンです。
    boolean isMCSiteLocal()
    マルチキャスト・アドレスにサイト・スコープがあるかどうかを調べるユーティリティ・ルーチンです。
    boolean isMulticastAddress()
    InetAddressがIPマルチキャスト・アドレスかどうかを調べるユーティリティ・ルーチンです。
    boolean isSiteLocalAddress()
    InetAddressがサイト・ローカル・アドレスかどうかを調べるユーティリティ・ルーチンです。

    クラス java.lang.Objectで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • メソッドの詳細

    • isMulticastAddress

      public boolean isMulticastAddress()
      InetAddressがIPマルチキャスト・アドレスかどうかを調べるユーティリティ・ルーチンです。 IPマルチキャスト・アドレスはClass Dアドレスです。つまり、そのアドレスの先頭の4ビットが1110です。
      オーバーライド:
      isMulticastAddress、クラス: InetAddress
      戻り値:
      InetAddressがIPマルチキャスト・アドレスかどうかを示すboolean
    • isAnyLocalAddress

      public boolean isAnyLocalAddress()
      InetAddressがワイルドカード・アドレスかどうかを調べるユーティリティ・ルーチン。
      オーバーライド:
      isAnyLocalAddress、クラス: InetAddress
      戻り値:
      InetAddressがワイルドカードのアドレスかどうかを示すboolean
    • isLoopbackAddress

      public boolean isLoopbackAddress()
      InetAddressがループバック・アドレスかどうかを調べるユーティリティ・ルーチンです。
      オーバーライド:
      isLoopbackAddress、クラス: InetAddress
      戻り値:
      InetAddressがループバック・アドレスかどうかを示すboolean。ループバック・アドレスでない場合はfalse。
    • isLinkLocalAddress

      public boolean isLinkLocalAddress()
      InetAddressがリンク・ローカル・アドレスかどうかを調べるユーティリティ・ルーチンです。
      オーバーライド:
      isLinkLocalAddress、クラス: InetAddress
      戻り値:
      InetAddressがリンク・ローカル・アドレスかどうかを示すboolean。アドレスがリンク・ローカル・ユニキャスト・アドレスでない場合はfalse。
    • isSiteLocalAddress

      public boolean isSiteLocalAddress()
      InetAddressがサイト・ローカル・アドレスかどうかを調べるユーティリティ・ルーチンです。
      オーバーライド:
      isSiteLocalAddress、クラス: InetAddress
      戻り値:
      InetAddressがサイト・ローカル・アドレスかどうかを示すboolean。アドレスがサイト・ローカル・ユニキャスト・アドレスでない場合はfalse。
    • isMCGlobal

      public boolean isMCGlobal()
      マルチキャスト・アドレスにグローバル・スコープがあるかどうかを調べるユーティリティ・ルーチンです。
      オーバーライド:
      isMCGlobal、クラス: InetAddress
      戻り値:
      アドレスがグローバル・スコープのマルチキャスト・アドレスかどうかを示すboolean。それがグローバル・スコープのアドレスでないかマルチキャスト・アドレスでない場合はfalse
    • isMCNodeLocal

      public boolean isMCNodeLocal()
      マルチキャスト・アドレスにノード・スコープがあるかどうかを調べるユーティリティ・ルーチンです。
      オーバーライド:
      isMCNodeLocal、クラス: InetAddress
      戻り値:
      アドレスがノード・ローカル・スコープのマルチキャスト・アドレスかどうかを示すboolean。それがノード・ローカル・スコープのアドレスでないかマルチキャスト・アドレスでない場合はfalse
    • isMCLinkLocal

      public boolean isMCLinkLocal()
      マルチキャスト・アドレスにリンク・スコープがあるかどうかを調べるユーティリティ・ルーチンです。
      オーバーライド:
      isMCLinkLocal、クラス: InetAddress
      戻り値:
      アドレスがリンク・ローカル・スコープのマルチキャスト・アドレスかどうかを示すboolean。それがリンク・ローカル・スコープのアドレスでないかマルチキャスト・アドレスでない場合はfalse
    • isMCSiteLocal

      public boolean isMCSiteLocal()
      マルチキャスト・アドレスにサイト・スコープがあるかどうかを調べるユーティリティ・ルーチンです。
      オーバーライド:
      isMCSiteLocal、クラス: InetAddress
      戻り値:
      アドレスがサイト・ローカル・スコープのマルチキャスト・アドレスかどうかを示すboolean。それがサイト・ローカル・スコープのアドレスでないかマルチキャスト・アドレスでない場合はfalse
    • isMCOrgLocal

      public boolean isMCOrgLocal()
      マルチキャスト・アドレスに組織スコープがあるかどうかを調べるユーティリティ・ルーチンです。
      オーバーライド:
      isMCOrgLocal、クラス: InetAddress
      戻り値:
      アドレスが組織ローカル・スコープのマルチキャスト・アドレスかどうかを示すboolean。それが組織ローカル・スコープのアドレスでないかマルチキャスト・アドレスでない場合はfalse
    • getAddress

      public byte[] getAddress()
      このInetAddressオブジェクトの生のIPアドレスを返します。 その結果はネットワーク・バイト順序になります。アドレスの最上位順序バイトはgetAddress()[0].内に存在します。
      オーバーライド:
      getAddress、クラス: InetAddress
      戻り値:
      このオブジェクトのIPアドレス。
    • getHostAddress

      public String getHostAddress()
      テキスト表現形式のIPアドレス文字列を返します。
      オーバーライド:
      getHostAddress、クラス: InetAddress
      戻り値:
      IPアドレスの文字列形式。
    • hashCode

      public int hashCode()
      このIPアドレスのハッシュ・コードを返します。
      オーバーライド:
      hashCode、クラス: InetAddress
      戻り値:
      このIPアドレスのハッシュ・コード値。
      関連項目:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
    • equals

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

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

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