# Class InterfaceAddress

java.lang.Object
java.net.InterfaceAddress

public final class InterfaceAddress extends Object
This class represents a Network Interface address. In the case of IPv4, this comprises the IP address, a subnet mask, and a broadcast address if the interface supports broadcast. In the case of IPv6, it comprises the IP address and a network prefix length.

Since:
  1.6
See Also:
  - `NetworkInterface`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object obj)`
  Compares this object against the specified object.
  `InetAddress`
  `getAddress()`
  Returns an `InetAddress` for this address.
  `InetAddress`
  `getBroadcast()`
  Returns an `InetAddress` for the broadcast address for this InterfaceAddress.
  `short`
  `getNetworkPrefixLength()`
  Returns the network prefix length for this address.
  `int`
  `hashCode()`
  Returns a hashcode for this Interface address.
  `String`
  `toString()`
  Converts this Interface address to a `String`.

  ### Methods declared in class Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Method Details

  - ### getAddress

    public InetAddress getAddress()
    Returns an `InetAddress` for this address.
    Returns:
      the `InetAddress` for this address.

  - ### getBroadcast

    public InetAddress getBroadcast()
    Returns an `InetAddress` for the broadcast address for this InterfaceAddress.

    Only IPv4 networks have broadcast address therefore, in the case of an IPv6 network, `null` will be returned.

    Some network interfaces do not support broadcasting and may also return `null`.

    Returns:
      the `InetAddress` representing the broadcast address or `null` if there is no broadcast address.

  - ### getNetworkPrefixLength

    public short getNetworkPrefixLength()
    Returns the network prefix length for this address. This is also known as the subnet mask in the context of IPv4 addresses. Typical IPv4 values would be 8 (255.0.0.0), 16 (255.255.0.0) or 24 (255.255.255.0).

    Typical IPv6 values would be 128 (::1/128) or 10 (fe80::203:baff:fe27:1243/10)

    Returns:
      a `short` representing the prefix length for the subnet of that address.

  - ### equals

    public boolean equals(Object obj)
    Compares this object against the specified object. The result is `true` if and only if the argument is not `null` and it represents the same interface address as this object.

    Two instances of `InterfaceAddress` represent the same address if the InetAddress, the prefix length and the broadcast are the same for both.

    Overrides:
      `equals` in class `Object`
    Parameters:
      `obj` - the object to compare against.
    Returns:
      `true` if the objects are the same; `false` otherwise.
    See Also:
      - `hashCode()`

  - ### hashCode

    public int hashCode()
    Returns a hashcode for this Interface address.
    Overrides:
      `hashCode` in class `Object`
    Returns:
      a hash code value for this Interface address.
    See Also:
      - `Object.equals(java.lang.Object)`
      - `System.identityHashCode(Object)`

  - ### toString

    public String toString()
    Converts this Interface address to a `String`. The string returned is of the form: InetAddress / prefix length [ broadcast address ].
    Overrides:
      `toString` in class `Object`
    Returns:
      a string representation of this Interface address.