- すべての実装されたインタフェース:
Serializable
IPv4アドレスのテキスト表現
メソッドの入力として使用されるIPv4アドレスのテキスト表現は、次のいずれかの形式になります。
d.d.d.d
d.d.d
d.d
d
4つの部分が指定されると、各部分がデータのバイトとして解釈され、左から右へ、IPv4アドレスの4つのバイトに割り当てられます。
3つの部分から成るアドレスが指定された場合、その最後の部分が16ビット・データとして解釈され、ネットワーク・アドレスの右側の2バイトに配置されます。 これにより、クラスBのネットワーク・アドレスを128.net.hostとして指定する際に、3つのパート・アドレス形式が便利になります。
2つの部分から成るアドレスが指定された場合、その最後の部分が24ビット・データとして解釈され、ネットワーク・アドレスの右側の3バイトに配置されます。 このため、2つの部分から成るアドレスの形式は、Class Aのネットワーク・アドレスをnet.hostとして指定する際に役立ちます。
1つの部分だけが指定されると、その値は直接ネットワーク・アドレスに格納され、バイトの再配置は行われません。
これらのフォームは、10進形式でのみ指定されたパーツをサポートします。 たとえば、次のフォームは、IPv4アドレスのテキスト表現を解析できるメソッドでサポートされています。
// Dotted-decimal 'd.d.d.d' form with four part address literal
InetAddress.getByName("007.008.009.010"); // ==> /7.8.9.10
InetAddress.getByName("127.0.1.1"); // ==> /127.0.1.1
// Dotted-decimal 'd.d.d' form with three part address literal,
// the last part is placed in the right most two bytes
// of the constructed address
InetAddress.getByName("127.0.257"); // ==> /127.0.1.1
// Dotted-decimal 'd.d' form with two part address literal,
// the last part is placed in the right most three bytes
// of the constructed address
Inet4Address.ofLiteral("127.257"); // ==> /127.0.1.1
// 'd' form with one decimal value that is stored directly in
// the constructed address bytes without any rearrangement
Inet4Address.ofLiteral("02130706689"); // ==> /127.0.1.1
テキスト表現を出力値として返すメソッドでは、最初の形式、つまりドットで区切られた4部から成る文字列が使用されます。
マルチキャスト・アドレスのスコープ
歴史的に、IPヘッダーのIPv4 TTLフィールドはマルチキャスト・スコープ・フィールドとして2倍になりました。0のTTLはノード・ローカル、1はリンク・ローカル、32まではサイト・ローカル、64までは地域ローカル、128までは大陸ローカル、255まではグローバルを意味します。 ただし、管理スコープが優先されます。 「RFC 2365: Administratively Scoped IP Multicast」を参照してください。- 導入されたバージョン:
- 1.4
- 外部仕様
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明boolean
このオブジェクトと指定されたオブジェクトを比較します。byte[]
このInetAddress
オブジェクトの生のIPアドレスを返します。テキスト表現形式のIPアドレス文字列を返します。int
hashCode()
このIPアドレスのハッシュ・コードを返します。boolean
InetAddressがワイルドカード・アドレスかどうかをチェックするユーティリティ・ルーチン。boolean
InetAddressがリンク・ローカル・アドレスかどうかをチェックするユーティリティ・ルーチン。boolean
InetAddressがループバック・アドレスかどうかを調べるユーティリティ・ルーチンです。boolean
マルチキャスト・アドレスにグローバル・スコープがあるかどうかを調べるユーティリティ・ルーチンです。boolean
マルチキャスト・アドレスにリンク・スコープがあるかどうかを調べるユーティリティ・ルーチンです。boolean
マルチキャスト・アドレスにノード・スコープがあるかどうかを調べるユーティリティ・ルーチンです。boolean
マルチキャスト・アドレスに組織スコープがあるかどうかを調べるユーティリティ・ルーチンです。boolean
マルチキャスト・アドレスにサイト・スコープがあるかどうかを調べるユーティリティ・ルーチンです。boolean
InetAddressがIPマルチキャスト・アドレスかどうかを調べるユーティリティ・ルーチンです。boolean
InetAddressがサイト・ローカル・アドレスかどうかを調べるユーティリティ・ルーチンです。static Inet4Address
IPv4アドレスの指定された「テキスト表現」に基づいてInet4Address
を作成します。クラスjava.net.InetAddressで宣言されたメソッド
getAllByName, getByAddress, getByAddress, getByName, getCanonicalHostName, getHostName, getLocalHost, getLoopbackAddress, isReachable, isReachable, toString
-
メソッドの詳細
-
ofLiteral
public static Inet4Address ofLiteral(String ipv4AddressLiteral) IPv4アドレスの指定された「テキスト表現」に基づいてInet4Address
を作成します。指定されたIPv4アドレス・リテラルが「有効なIPv4アドレス」を表すことができない場合は、
IllegalArgumentException
がスローされます。このメソッドはブロックされません。つまり、逆ルックアップは実行されません。
- パラメータ:
ipv4AddressLiteral
- IPv4アドレスのテキスト表現。- 戻り値:
- ホスト名が設定されていない
Inet4Address
オブジェクトで、指定されたIPv4アドレス・リテラルから構築されます。 - 例外:
IllegalArgumentException
-ipv4AddressLiteral
をIPv4アドレス・リテラルとして解析できない場合。NullPointerException
-ipv4AddressLiteral
がnull
の場合。- 導入されたバージョン:
- 22
-
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アドレスのハッシュ・コード値。
- 関連項目:
-
equals
public boolean equals(Object obj) このオブジェクトと指定されたオブジェクトを比較します。 引数がnull
ではなく、その引数がこのオブジェクトと同じIPアドレスを表す場合にだけ、結果がtrue
になります。getAddress
によって返されるバイト配列の長さが同じであり、バイト配列の各コンポーネントが同じである場合、2つのInetAddress
のインスタンスは同じIPアドレスを表しています。- オーバーライド:
equals
、クラスInetAddress
- パラメータ:
obj
- 比較対象のオブジェクト。- 戻り値:
- オブジェクトが同じである場合は
true
、そうでない場合はfalse
。 - 関連項目:
-