- java.lang.Object
 - 
- java.net.NetworkInterface
 
 
- 
public final class NetworkInterface extends Object
このクラスは、名前と、このインタフェースに割り当てられた一連のIPアドレスから成るネットワーク・インタフェースを表します。 これは、マルチキャスト・グループへの参加に使用するローカル・インタフェースを特定するのに使用されます。 インタフェースは通常、「le0」などの名前で識別されます。- 導入されたバージョン:
 - 1.4
 
 
- 
- 
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 booleanequals(Object obj)このオブジェクトと指定されたオブジェクトを比較します。static NetworkInterfacegetByIndex(int index)指定されたインデックスのネットワーク・インタフェースを取得します。static NetworkInterfacegetByInetAddress(InetAddress addr)指定されたインターネット・プロトコル(IP)アドレスがバインドされているネットワーク・インタフェースを検索する簡易メソッド。static NetworkInterfacegetByName(String name)指定された名前のネットワーク・インタフェースを検索します。StringgetDisplayName()このネットワーク・インタフェースの表示名を取得します。byte[]getHardwareAddress()インタフェースがハードウェア・アドレス(通常はMAC)を持っており、そのアドレスに現在の特権を使ってアクセス可能である場合に、そのアドレスを返します。intgetIndex()このネットワーク・インタフェースのインデックスを返します。Enumeration<InetAddress>getInetAddresses()このネットワーク・インタフェースにバインドされたInetAddressesのすべてまたサブセットを持つEnumerationを取得します。List<InterfaceAddress>getInterfaceAddresses()このネットワーク・インタフェースのInterfaceAddressesのすべてまたはサブセットのリストを取得します。intgetMTU()このインタフェースの最大転送単位(MTU)を返します。StringgetName()このネットワーク・インタフェースの名前を取得します。static Enumeration<NetworkInterface>getNetworkInterfaces()このマシン上のすべてのインタフェースのEnumerationを返します。NetworkInterfacegetParent()このインタフェースがサブインタフェースの場合はその親となるNetworkInterfaceを返し、このインタフェースが物理(非仮想)インタフェースであるか親を持たない場合はnullを返します。Enumeration<NetworkInterface>getSubInterfaces()このネットワーク・インタフェースに接続されたすべてのサブインタフェース(仮想インタフェースとも呼ばれる)を含む列挙を取得します。inthashCode()オブジェクトのハッシュ・コード値を返します。Stream<InetAddress>inetAddresses()このネットワーク・インタフェースにバインドされたInetAddressesのすべてまたは一部のストリームを取得します。booleanisLoopback()ネットワーク・インタフェースがループバック・インタフェースかどうかを返します。booleanisPointToPoint()ネットワーク・インタフェースがポイント・ツー・ポイント・インタフェースかどうかを返します。booleanisUp()ネットワーク・インタフェースが起動し、動作しているかどうかを返します。booleanisVirtual()このインタフェースが仮想インタフェース(サブインタフェースとも呼ばれる)かどうかを返します。static Stream<NetworkInterface>networkInterfaces()このマシン上のすべてのインタフェースのStreamを返します。Stream<NetworkInterface>subInterfaces()このネットワーク・インタフェースにアタッチされたすべてのサブインタフェース(仮想インタフェースとも呼ばれます)のストリームを取得します。booleansupportsMulticast()ネットワーク・インタフェースがマルチキャストをサポートしているかどうかを返します。StringtoString()オブジェクトの文字列表現を返します。 
 - 
 
- 
- 
メソッドの詳細
- 
getName
public String getName()
このネットワーク・インタフェースの名前を取得します。- 戻り値:
 - このネットワーク・インタフェースの名前
 
 
- 
getInetAddresses
public Enumeration<InetAddress> getInetAddresses()
このネットワーク・インタフェースにバインドされたInetAddressesのすべてまたサブセットを持つEnumerationを取得します。セキュリティ・マネージャが存在する場合、InetAddressごとにその
checkConnectメソッドが呼び出されます。checkConnectがSecurityExceptionをスローしないInetAddressだけが、列挙内に返されます。 ただし、呼出し元がNetPermission(「getNetworkInformation」)アクセス権を持っている場合は、すべてのInetAddressが返されます。- 戻り値:
 - このネットワーク・インタフェースにバインドされたInetAddressesのすべてまたはサブセットの列挙オブジェクト
 - 関連項目:
 inetAddresses()
 
- 
inetAddresses
public Stream<InetAddress> inetAddresses()
このネットワーク・インタフェースにバインドされたInetAddressesのすべてまたは一部のストリームを取得します。セキュリティ・マネージャが存在する場合、InetAddressごとにその
checkConnectメソッドが呼び出されます。checkConnectがSecurityExceptionをスローしないInetAddressesのみがStreamに返されます。 ただし、呼出し元がNetPermission(getNetworkInformation)アクセス権を持っている場合は、すべてのInetAddressが返されます。- 戻り値:
 - このネットワーク・インタフェースにバインドされたInetAddressesのすべてまたは一部を持つStreamオブジェクト
 - 導入されたバージョン:
 - 9
 
 
- 
getInterfaceAddresses
public List<InterfaceAddress> getInterfaceAddresses()
このネットワーク・インタフェースのInterfaceAddressesのすべてまたはサブセットのリストを取得します。セキュリティ・マネージャが存在する場合、InterfaceAddressごとに、InetAddressを指定してセキュリティ・マネージャの
checkConnectメソッドが呼び出されます。checkConnectがSecurityExceptionをスローしないInterfaceAddressだけが、リスト内に返されます。- 戻り値:
 - このネットワーク・インタフェースのInterfaceAddressのすべてまたはサブセットの
Listオブジェクト - 導入されたバージョン:
 - 1.6
 
 
- 
getSubInterfaces
public Enumeration<NetworkInterface> getSubInterfaces()
このネットワーク・インタフェースに接続されたすべてのサブインタフェース(仮想インタフェースとも呼ばれる)を含む列挙を取得します。たとえば、eth0:1はeth0のサブインタフェースです。
- 戻り値:
 - このネットワーク・インタフェースのすべてのサブインタフェースを含む列挙型オブジェクト
 - 導入されたバージョン:
 - 1.6
 - 関連項目:
 subInterfaces()
 
- 
subInterfaces
public Stream<NetworkInterface> subInterfaces()
このネットワーク・インタフェースにアタッチされたすべてのサブインタフェース(仮想インタフェースとも呼ばれます)のストリームを取得します。- 戻り値:
 - このネットワーク・インタフェースのすべてのサブインタフェースを持つStreamオブジェクト
 - 導入されたバージョン:
 - 9
 
 
- 
getParent
public NetworkInterface getParent()
このインタフェースがサブインタフェースの場合はその親となるNetworkInterfaceを返し、このインタフェースが物理(非仮想)インタフェースであるか親を持たない場合はnullを返します。- 戻り値:
 - このインタフェースが接続されている
NetworkInterface。 - 導入されたバージョン:
 - 1.6
 
 
- 
getIndex
public int getIndex()
このネットワーク・インタフェースのインデックスを返します。 インデックスは0以上の整数です。インデックスが不明な場合は-1を返します。 これはシステム固有の値で、同じ名前を持つインタフェースでも、マシンが異なるとインデックスが異なる可能性があります。- 戻り値:
 - このネットワーク・インタフェースのインデックス。インデックスが不明な場合は
-1 - 導入されたバージョン:
 - 1.7
 - 関連項目:
 getByIndex(int)
 
- 
getDisplayName
public String getDisplayName()
このネットワーク・インタフェースの表示名を取得します。 表示名とは、ネットワーク・デバイスを記述した、人間が読むことのできるStringのことです。- 戻り値:
 - このネットワーク・インタフェースの表示名を表す空でない文字列。表示名が取得できない場合はnull。
 
 
- 
getByName
public static NetworkInterface getByName(String name) throws SocketException
指定された名前のネットワーク・インタフェースを検索します。- パラメータ:
 name−ネットワーク・インタフェースの名前。- 戻り値:
 - 指定された名前を持つ
NetworkInterface。指定された名前のネットワーク・インタフェースが存在しない場合はnull。 - 例外:
 SocketException- 入出力エラーが発生した場合。NullPointerException−指定された名前がnullの場合。
 
- 
getByIndex
public static NetworkInterface getByIndex(int index) throws SocketException
指定されたインデックスのネットワーク・インタフェースを取得します。- パラメータ:
 index- 整数。インタフェースのインデックス- 戻り値:
 - インデックスから取得されたNetworkInterface。システムにそうしたインデックスを持つインタフェースがない場合は
null - 例外:
 SocketException- 入出力エラーが発生した場合。IllegalArgumentException- インデックスが負の値の場合- 導入されたバージョン:
 - 1.7
 - 関連項目:
 getIndex()
 
- 
getByInetAddress
public static NetworkInterface getByInetAddress(InetAddress addr) throws SocketException
指定されたインターネット・プロトコル(IP)アドレスがバインドされているネットワーク・インタフェースを検索する簡易メソッド。指定されたIPアドレスが複数のネットワーク・インタフェースにバインドされている場合、どのネットワーク・インタフェースが返されるかは未定義となります。
- パラメータ:
 addr−検索に使用するInetAddress。- 戻り値:
 NetworkInterface。指定されたIPアドレスを持つネットワーク・インタフェースが存在しない場合はnull。- 例外:
 SocketException- 入出力エラーが発生した場合。NullPointerException−指定されたアドレスがnullの場合。
 
- 
getNetworkInterfaces
public static Enumeration<NetworkInterface> getNetworkInterfaces() throws SocketException
このマシン上のすべてのインタフェースのEnumerationを返します。Enumerationには少なくとも1つの要素が含まれます。このマシン上のエンティティ間の通信だけをサポートするループバック・インタフェースを表している場合もあります。- APIの注:
 - このメソッドを
getInetAddresses()と組み合わせて使用すると、このノードのすべてのIPアドレスを取得できます - 戻り値:
 - このマシンで見つかったNetworkInterfacesの列挙
 - 例外:
 SocketException- I/Oエラーが発生した場合、またはプラットフォームに少なくとも1つのネットワーク・インタフェースが構成されていない場合。- 関連項目:
 networkInterfaces()
 
- 
networkInterfaces
public static Stream<NetworkInterface> networkInterfaces() throws SocketException
このマシン上のすべてのインタフェースのStreamを返します。Streamには少なくとも1つのインタフェースが含まれ、おそらくこのマシン上のエンティティ間の通信のみをサポートするループバック・インタフェースを表します。- APIの注:
 - このメソッドを
inetAddresses()と組み合わせて使用すると、このノードのすべてのIPアドレスのストリームを取得できます。たとえば、次のようになります:Stream<InetAddress> addrs = NetworkInterface.networkInterfaces() .flatMap(NetworkInterface::inetAddresses); - 戻り値:
 - このマシンで見つかったNetworkInterfacesのストリーム
 - 例外:
 SocketException- I/Oエラーが発生した場合、またはプラットフォームに少なくとも1つのネットワーク・インタフェースが構成されていない場合。- 導入されたバージョン:
 - 9
 
 
- 
isUp
public boolean isUp() throws SocketExceptionネットワーク・インタフェースが起動し、動作しているかどうかを返します。- 戻り値:
 - インタフェースが起動し、動作している場合は
true。 - 例外:
 SocketException- 入出力エラーが発生した場合。- 導入されたバージョン:
 - 1.6
 
 
- 
isLoopback
public boolean isLoopback() throws SocketExceptionネットワーク・インタフェースがループバック・インタフェースかどうかを返します。- 戻り値:
 - インタフェースがループバック・インタフェースである場合は
true。 - 例外:
 SocketException- 入出力エラーが発生した場合。- 導入されたバージョン:
 - 1.6
 
 
- 
isPointToPoint
public boolean isPointToPoint() throws SocketExceptionネットワーク・インタフェースがポイント・ツー・ポイント・インタフェースかどうかを返します。 通常のポイント・ツー・ポイント・インタフェースとして、モデム経由のPPP接続が挙げられます。- 戻り値:
 - インタフェースがポイント・ツー・ポイント・インタフェースである場合は
true。 - 例外:
 SocketException- 入出力エラーが発生した場合。- 導入されたバージョン:
 - 1.6
 
 
- 
supportsMulticast
public boolean supportsMulticast() throws SocketExceptionネットワーク・インタフェースがマルチキャストをサポートしているかどうかを返します。- 戻り値:
 - インタフェースがマルチキャストをサポートしている場合は
true。 - 例外:
 SocketException- 入出力エラーが発生した場合。- 導入されたバージョン:
 - 1.6
 
 
- 
getHardwareAddress
public byte[] getHardwareAddress() throws SocketExceptionインタフェースがハードウェア・アドレス(通常はMAC)を持っており、そのアドレスに現在の特権を使ってアクセス可能である場合に、そのアドレスを返します。 セキュリティ・マネージャが設定されている場合は、呼出し元がアクセス権NetPermission(「getNetworkInformation」)を持っている必要があります。- 戻り値:
 - アドレスが格納されているバイト配列。アドレスが存在しない場合、アドレスにアクセスできない場合、またはセキュリティ・マネージャが設定されている場合は、呼出し元がアクセス権NetPermission (「getNetworkInformation」)を持っていなければ
null - 例外:
 SocketException- 入出力エラーが発生した場合。- 導入されたバージョン:
 - 1.6
 
 
- 
getMTU
public int getMTU() throws SocketExceptionこのインタフェースの最大転送単位(MTU)を返します。- 戻り値:
 - そのインタフェースのMTUの値。
 - 例外:
 SocketException- 入出力エラーが発生した場合。- 導入されたバージョン:
 - 1.6
 
 
- 
isVirtual
public boolean isVirtual()
このインタフェースが仮想インタフェース(サブインタフェースとも呼ばれる)かどうかを返します。 仮想インタフェースはシステムによっては、ある物理インタフェースの子として作成され、異なる設定(アドレスやMTUなど)が与えられたインタフェースになります。 通常、このインタフェースの名前は、親の名前のあとに、コロン(:)と子を識別するための数字を付加したものになります。これは、単一の物理インタフェースに複数の仮想インタフェースが接続される可能性があるためです。- 戻り値:
 - このインタフェースが仮想インタフェースである場合は
true。 - 導入されたバージョン:
 - 1.6
 
 
- 
equals
public boolean equals(Object obj)
このオブジェクトと指定されたオブジェクトを比較します。 引数がnullではなく、その引数がこのオブジェクトと同じNetworkInterfaceを表す場合にだけ、結果がtrueになります。名前とアドレスが両方とも同じ場合、
NetworkInterfaceの2つのインスタンスは同じNetworkInterfaceを表します。- オーバーライド:
 equals、クラス:Object- パラメータ:
 obj- 比較対象のオブジェクト。- 戻り値:
 - オブジェクトが同じである場合は
true、そうでない場合はfalse。 - 関連項目:
 InetAddress.getAddress()
 
- 
hashCode
public int hashCode()
次のクラスからコピーされた説明:Objectオブジェクトのハッシュ・コード値を返します。 このメソッドは、HashMapによって提供されるハッシュ表などの、ハッシュ表の利点のためにサポートされています。hashCodeの一般的な規則は次のとおりです。- Javaアプリケーションの実行中に同じオブジェクトに対して複数回呼び出された場合は常に、このオブジェクトに対する
equalsの比較で使用される情報が変更されていなければ、hashCodeメソッドは常に同じ整数を返す必要があります。 ただし、この整数は同じアプリケーションの実行ごとに同じである必要はありません。 equals(Object)メソッドに従って2つのオブジェクトが等しい場合は、2つの各オブジェクトに対するhashCodeメソッドの呼出しによって同じ整数の結果が生成される必要があります。Object.equals(java.lang.Object)メソッドに従って2つのオブジェクトが等しくない場合は、2つの各オブジェクトに対するhashCodeメソッドの呼出しによって異なる整数の結果が生成される必要はありません。 ただし、プログラマは、等しくないオブジェクトに対して異なる整数の結果を生成すると、ハッシュ表のパフォーマンスが向上する可能性があることに注意するようにしてください。
クラス
Objectによって定義されたhashCodeメソッドは、可能なかぎり、異なるオブジェクトに対して異なる整数を返します。 (hashCodeは、ある時点におけるオブジェクト・メモリー・アドレスの関数として実装されても実装されなくてもよい。)- オーバーライド:
 hashCode、クラス:Object- 戻り値:
 - このオブジェクトのハッシュ・コード値。
 - 関連項目:
 Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
 - Javaアプリケーションの実行中に同じオブジェクトに対して複数回呼び出された場合は常に、このオブジェクトに対する
 
- 
toString
public String toString()
次のクラスからコピーされた説明:Objectオブジェクトの文字列表現を返します。 一般に、toStringメソッドは、このオブジェクトを「テキストで表す」文字列を返します。 この結果は、人間が読める簡潔で有益な情報であるべきです。 すべてのサブクラスで、このメソッドをオーバーライドすることをお薦めします。クラス
ObjectのtoStringメソッドは、オブジェクトがインスタンスになっている元のクラスの名前、アットマーク文字「@」、およびオブジェクトのハッシュ・コードの符号なし16進数表現から構成される文字列を返します。 つまり、このメソッドは次の値と等しい文字列を返します。getClass().getName() + '@' + Integer.toHexString(hashCode())
 
 - 
 
 -