Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Methods](https://developer.android.com/reference/java/net/Inet4Address#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/java/net/Inet4Address#inhmethods)

# Inet4Address

` public final class Inet4Address `   
` ` ` extends https://developer.android.com/reference/java/net/InetAddress ` ` `

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [java.net.InetAddress](https://developer.android.com/reference/java/net/InetAddress) ||
|   | ↳ | java.net.Inet4Address |

<br />

*** ** * ** ***

This class represents an Internet Protocol version 4 (IPv4) address. Defined by [*RFC 790: Assigned Numbers*](http://www.ietf.org/rfc/rfc790.txt), [*RFC 1918: Address Allocation for Private Internets*](http://www.ietf.org/rfc/rfc1918.txt), and [*RFC 2365: Administratively Scoped IP Multicast*](http://www.ietf.org/rfc/rfc2365.txt)

### Textual representation of IP addresses

Textual representation of IPv4 address used as input to methods takes one of the following forms:
> - `d.d.d.d`
> - `d.d.d`
> - `d.d`
> - `d`

When four parts are specified, each is interpreted as a byte of data and assigned, from left to right, to the four bytes of an IPv4 address.

When a three part address is specified, the last part is interpreted as a 16-bit quantity and placed in the right most two bytes of the network address. This makes the three part address format convenient for specifying Class B net- work addresses as 128.net.host.

When a two part address is supplied, the last part is interpreted as a 24-bit quantity and placed in the right most three bytes of the network address. This makes the two part address format convenient for specifying Class A network addresses as net.host.

When only one part is given, the value is stored directly in the network address without any byte rearrangement.

For methods that return a textual representation as output value, the first form, i.e. a dotted-quad string, is used.

#### The Scope of a Multicast Address

Historically the IPv4 TTL field in the IP header has doubled as a multicast scope field: a TTL of 0 means node-local, 1 means link-local, up through 32 means site-local, up through 64 means region-local, up through 128 means continent-local, and up through 255 are global. However, the administrative scoping is preferred. Please refer to [*RFC 2365: Administratively Scoped IP Multicast*](http://www.ietf.org/rfc/rfc2365.txt)

<br />

## Summary

| ### Public methods ||
|---|---|
| ` boolean` | ` https://developer.android.com/reference/java/net/Inet4Address#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Compares this object against the specified object. |
| ` byte[]` | ` https://developer.android.com/reference/java/net/Inet4Address#getAddress()() ` Returns the raw IP address of this `InetAddress` object. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/net/Inet4Address#getHostAddress()() ` Returns the IP address string in textual presentation form. |
| ` int` | ` https://developer.android.com/reference/java/net/Inet4Address#hashCode()() ` Returns a hashcode for this IP address. |
| ` boolean` | ` https://developer.android.com/reference/java/net/Inet4Address#isAnyLocalAddress()() ` Utility routine to check if the InetAddress is a wildcard address. |
| ` boolean` | ` https://developer.android.com/reference/java/net/Inet4Address#isLinkLocalAddress()() ` Utility routine to check if the InetAddress is an link local address. |
| ` boolean` | ` https://developer.android.com/reference/java/net/Inet4Address#isLoopbackAddress()() ` Utility routine to check if the InetAddress is a loopback address. |
| ` boolean` | ` https://developer.android.com/reference/java/net/Inet4Address#isMCGlobal()() ` Utility routine to check if the multicast address has global scope. |
| ` boolean` | ` https://developer.android.com/reference/java/net/Inet4Address#isMCLinkLocal()() ` Utility routine to check if the multicast address has link scope. |
| ` boolean` | ` https://developer.android.com/reference/java/net/Inet4Address#isMCNodeLocal()() ` Utility routine to check if the multicast address has node scope. |
| ` boolean` | ` https://developer.android.com/reference/java/net/Inet4Address#isMCOrgLocal()() ` Utility routine to check if the multicast address has organization scope. |
| ` boolean` | ` https://developer.android.com/reference/java/net/Inet4Address#isMCSiteLocal()() ` Utility routine to check if the multicast address has site scope. |
| ` boolean` | ` https://developer.android.com/reference/java/net/Inet4Address#isMulticastAddress()() ` Utility routine to check if the InetAddress is an IP multicast address. |
| ` boolean` | ` https://developer.android.com/reference/java/net/Inet4Address#isSiteLocalAddress()() ` Utility routine to check if the InetAddress is a site local address. |

### Inherited methods

From class ` https://developer.android.com/reference/java/net/InetAddress ` ` boolean` ` https://developer.android.com/reference/java/net/InetAddress#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Compares this object against the specified object.
` byte[]` ` https://developer.android.com/reference/java/net/InetAddress#getAddress()() `

Returns the raw IP address of this `InetAddress` object.
` static https://developer.android.com/reference/java/net/InetAddress` ` https://developer.android.com/reference/java/net/InetAddress#getAllByName(java.lang.String)(https://developer.android.com/reference/java/lang/String host) `

Given the name of a host, returns an array of its IP addresses, based on the configured name service on the system.
` static https://developer.android.com/reference/java/net/InetAddress` ` https://developer.android.com/reference/java/net/InetAddress#getByAddress(byte[])(byte[] addr) `

Returns an `InetAddress` object given the raw IP address .
` static https://developer.android.com/reference/java/net/InetAddress` ` https://developer.android.com/reference/java/net/InetAddress#getByAddress(java.lang.String,%20byte[])(https://developer.android.com/reference/java/lang/String host, byte[] addr) `

Creates an InetAddress based on the provided host name and IP address.
` static https://developer.android.com/reference/java/net/InetAddress` ` https://developer.android.com/reference/java/net/InetAddress#getByName(java.lang.String)(https://developer.android.com/reference/java/lang/String host) `

Determines the IP address of a host, given the host's name.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/net/InetAddress#getCanonicalHostName()() `

Gets the fully qualified domain name for this IP address.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/net/InetAddress#getHostAddress()() `

Returns the IP address string in textual presentation.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/net/InetAddress#getHostName()() `

Gets the host name for this IP address.
` static https://developer.android.com/reference/java/net/InetAddress` ` https://developer.android.com/reference/java/net/InetAddress#getLocalHost()() `

Returns the address of the local host.
` static https://developer.android.com/reference/java/net/InetAddress` ` https://developer.android.com/reference/java/net/InetAddress#getLoopbackAddress()() `

Returns the loopback address.
` int` ` https://developer.android.com/reference/java/net/InetAddress#hashCode()() `

Returns a hashcode for this IP address.
` boolean` ` https://developer.android.com/reference/java/net/InetAddress#isAnyLocalAddress()() `

Utility routine to check if the InetAddress in a wildcard address.
` boolean` ` https://developer.android.com/reference/java/net/InetAddress#isLinkLocalAddress()() `

Utility routine to check if the InetAddress is an link local address.
` boolean` ` https://developer.android.com/reference/java/net/InetAddress#isLoopbackAddress()() `

Utility routine to check if the InetAddress is a loopback address.
` boolean` ` https://developer.android.com/reference/java/net/InetAddress#isMCGlobal()() `

Utility routine to check if the multicast address has global scope.
` boolean` ` https://developer.android.com/reference/java/net/InetAddress#isMCLinkLocal()() `

Utility routine to check if the multicast address has link scope.
` boolean` ` https://developer.android.com/reference/java/net/InetAddress#isMCNodeLocal()() `

Utility routine to check if the multicast address has node scope.
` boolean` ` https://developer.android.com/reference/java/net/InetAddress#isMCOrgLocal()() `

Utility routine to check if the multicast address has organization scope.
` boolean` ` https://developer.android.com/reference/java/net/InetAddress#isMCSiteLocal()() `

Utility routine to check if the multicast address has site scope.
` boolean` ` https://developer.android.com/reference/java/net/InetAddress#isMulticastAddress()() `

Utility routine to check if the InetAddress is an IP multicast address.
` boolean` ` https://developer.android.com/reference/java/net/InetAddress#isReachable(int)(int timeout) `

Test whether that address is reachable.
` boolean` ` https://developer.android.com/reference/java/net/InetAddress#isReachable(java.net.NetworkInterface,%20int,%20int)(https://developer.android.com/reference/java/net/NetworkInterface netif, int ttl, int timeout) `

Test whether that address is reachable.
` boolean` ` https://developer.android.com/reference/java/net/InetAddress#isSiteLocalAddress()() `

Utility routine to check if the InetAddress is a site local address.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/net/InetAddress#toString()() `

Converts this IP address to a `String`.
From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(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.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(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` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.

## Public methods

### equals

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
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 IP address as this object.

Two instances of `InetAddress` represent the same IP address if the length of the byte arrays returned by `getAddress` is the same for both, and each of the array components is the same for the byte arrays.

<br />

| Parameters ||
|---|---|
| `obj` | `Object`: the object to compare against. <br /> |

| Returns ||
|---|---|
| `boolean` | `true` if the objects are the same; `false` otherwise. <br /> |

**See also:**

- `https://developer.android.com/reference/java/net/InetAddress#getAddress()`

### getAddress

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public byte[] getAddress ()
```

Returns the raw IP address of this `InetAddress` object. The result is in network byte order: the highest order byte of the address is in `getAddress()[0]`.

<br />

| Returns ||
|---|---|
| `byte[]` | the raw IP address of this object. <br /> |

### getHostAddress

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String getHostAddress ()
```

Returns the IP address string in textual presentation form.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | the raw IP address in a string format. <br /> |

### hashCode

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int hashCode ()
```

Returns a hashcode for this IP address.

<br />

| Returns ||
|---|---|
| `int` | a hash code value for this IP address. <br /> |

### isAnyLocalAddress

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean isAnyLocalAddress ()
```

Utility routine to check if the InetAddress is a wildcard address.

<br />

| Returns ||
|---|---|
| `boolean` | a `boolean` indicating if the Inetaddress is a wildcard address. <br /> |

### isLinkLocalAddress

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean isLinkLocalAddress ()
```

Utility routine to check if the InetAddress is an link local address.

<br />

| Returns ||
|---|---|
| `boolean` | a `boolean` indicating if the InetAddress is a link local address; or false if address is not a link local unicast address. <br /> |

### isLoopbackAddress

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean isLoopbackAddress ()
```

Utility routine to check if the InetAddress is a loopback address.

<br />

| Returns ||
|---|---|
| `boolean` | a `boolean` indicating if the InetAddress is a loopback address; or false otherwise. <br /> |

### isMCGlobal

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean isMCGlobal ()
```

Utility routine to check if the multicast address has global scope.

<br />

| Returns ||
|---|---|
| `boolean` | a `boolean` indicating if the address has is a multicast address of global scope, false if it is not of global scope or it is not a multicast address <br /> |

### isMCLinkLocal

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean isMCLinkLocal ()
```

Utility routine to check if the multicast address has link scope.

<br />

| Returns ||
|---|---|
| `boolean` | a `boolean` indicating if the address has is a multicast address of link-local scope, false if it is not of link-local scope or it is not a multicast address <br /> |

### isMCNodeLocal

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean isMCNodeLocal ()
```

Utility routine to check if the multicast address has node scope.

<br />

| Returns ||
|---|---|
| `boolean` | a `boolean` indicating if the address has is a multicast address of node-local scope, false if it is not of node-local scope or it is not a multicast address <br /> |

### isMCOrgLocal

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean isMCOrgLocal ()
```

Utility routine to check if the multicast address has organization scope.

<br />

| Returns ||
|---|---|
| `boolean` | a `boolean` indicating if the address has is a multicast address of organization-local scope, false if it is not of organization-local scope or it is not a multicast address <br /> |

### isMCSiteLocal

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean isMCSiteLocal ()
```

Utility routine to check if the multicast address has site scope.

<br />

| Returns ||
|---|---|
| `boolean` | a `boolean` indicating if the address has is a multicast address of site-local scope, false if it is not of site-local scope or it is not a multicast address <br /> |

### isMulticastAddress

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean isMulticastAddress ()
```

Utility routine to check if the InetAddress is an IP multicast address. IP multicast address is a Class D address i.e first four bits of the address are 1110.

<br />

| Returns ||
|---|---|
| `boolean` | a `boolean` indicating if the InetAddress is an IP multicast address <br /> |

### isSiteLocalAddress

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean isSiteLocalAddress ()
```

Utility routine to check if the InetAddress is a site local address.

<br />

| Returns ||
|---|---|
| `boolean` | a `boolean` indicating if the InetAddress is a site local address; or false if address is not a site local unicast address. <br /> |