public final class Inet6Address extends InetAddress
InetAddress.| Modifier and Type | Field and Description |
|---|---|
static InetAddress |
ANY |
static InetAddress |
LOOPBACK |
UNSPECIFIED| Modifier and Type | Method and Description |
|---|---|
static Inet6Address |
getByAddress(String host,
byte[] addr,
int scope_id)
Constructs an IPv6 address according to the given
host, addr and scope_id. |
static Inet6Address |
getByAddress(String host,
byte[] addr,
NetworkInterface nif)
Gets an IPv6 address instance according to the given
host,
addr and nif. |
NetworkInterface |
getScopedInterface()
Returns the network interface if this address is instanced with a scoped
network interface, null otherwise.
|
int |
getScopeId()
Returns the scope id if this address is scoped to an interface, 0 otherwise.
|
boolean |
isAnyLocalAddress()
Returns whether this is the IPv6 unspecified wildcard address
::
or the IPv4 "any" address, 0.0.0.0. |
boolean |
isIPv4CompatibleAddress()
Returns whether this IPv6 address is an IPv4-compatible address or not.
|
boolean |
isLinkLocalAddress()
Returns whether this address is a link-local address or not.
|
boolean |
isLoopbackAddress()
Returns whether this address is a loopback address or not.
|
boolean |
isMCGlobal()
Returns whether this address is a global multicast address or not.
|
boolean |
isMCLinkLocal()
Returns whether this address is a link-local multicast address or not.
|
boolean |
isMCNodeLocal()
Returns whether this address is a node-local multicast address or not.
|
boolean |
isMCOrgLocal()
Returns whether this address is a organization-local multicast address or not.
|
boolean |
isMCSiteLocal()
Returns whether this address is a site-local multicast address or not.
|
boolean |
isMulticastAddress()
Returns whether this address is a multicast address or not.
|
boolean |
isSiteLocalAddress()
Returns whether this address is a site-local address or not.
|
String |
toString()
Returns a string containing the host name (if available) and host address.
|
clearDnsCache, equals, getAddress, getAllByName, getAllByNameOnNet, getByAddress, getByAddress, getByName, getByNameOnNet, getCanonicalHostName, getHostAddress, getHostName, getHostString, getLocalHost, getLoopbackAddress, hashCode, isNumeric, isReachable, isReachable, parseNumericAddresspublic static final InetAddress ANY
public static final InetAddress LOOPBACK
public static Inet6Address getByAddress(String host, byte[] addr, int scope_id) throws UnknownHostException
host, addr and scope_id.host - the host name associated with the address.addr - the network address.scope_id - the scope id for link- or site-local addresses.UnknownHostException - if the address is null or has an invalid length.public static Inet6Address getByAddress(String host, byte[] addr, NetworkInterface nif) throws UnknownHostException
host,
addr and nif. scope_id is set according to the
given nif and the addr type (for example site-local or
link-local).host - the hostname associated with the address.addr - the network address.nif - the network interface that this address is associated with.UnknownHostException - if the address is null or has an invalid length or
the interface doesn't have a numeric scope id for the given
address type.public boolean isAnyLocalAddress()
InetAddress::
or the IPv4 "any" address, 0.0.0.0.isAnyLocalAddress in class InetAddresspublic boolean isIPv4CompatibleAddress()
::/96 and is a deprecated
and no-longer used equivalent of the modern IPv4-mapped IPv6 addresses.public boolean isLinkLocalAddress()
InetAddressValid IPv6 link-local addresses have the prefix fe80::/10.
RFC 3484
"Default Address Selection for Internet Protocol Version 6 (IPv6)" states
that both IPv4 auto-configuration addresses (prefix 169.254/16) and
IPv4 loopback addresses (prefix 127/8) have link-local scope, but
Inet4Address only considers the auto-configuration addresses
to have link-local scope. That is: the IPv4 loopback address returns false.
isLinkLocalAddress in class InetAddresspublic boolean isLoopbackAddress()
InetAddressValid IPv4 loopback addresses have the prefix 127/8.
The only valid IPv6 loopback address is ::1.
isLoopbackAddress in class InetAddresspublic boolean isMCGlobal()
InetAddressValid IPv6 global multicast addresses have the prefix ffxe::/16,
where x is a set of flags and the additional 112 bits make
up the global multicast address space.
Valid IPv4 global multicast addresses are the range of addresses
from 224.0.1.0 to 238.255.255.255.
isMCGlobal in class InetAddresspublic boolean isMCLinkLocal()
InetAddressValid IPv6 link-local multicast addresses have the prefix ffx2::/16,
where x is a set of flags and the additional 112 bits make up the link-local multicast
address space.
Valid IPv4 link-local multicast addresses have the prefix 224.0.0/24.
isMCLinkLocal in class InetAddresspublic boolean isMCNodeLocal()
InetAddressValid IPv6 node-local multicast addresses have the prefix ffx1::/16,
where x is a set of flags and the additional 112 bits make up the link-local multicast
address space.
There are no valid IPv4 node-local multicast addresses.
isMCNodeLocal in class InetAddresspublic boolean isMCOrgLocal()
InetAddressValid IPv6 organization-local multicast addresses have the prefix ffx8::/16,
where x is a set of flags and the additional 112 bits make up the link-local multicast
address space.
Valid IPv4 organization-local multicast addresses have the prefix 239.192/14.
isMCOrgLocal in class InetAddresspublic boolean isMCSiteLocal()
InetAddressValid IPv6 site-local multicast addresses have the prefix ffx5::/16,
where x is a set of flags and the additional 112 bits make up the link-local multicast
address space.
Valid IPv4 site-local multicast addresses have the prefix 239.255/16.
isMCSiteLocal in class InetAddresspublic boolean isMulticastAddress()
InetAddressValid IPv6 multicast addresses have the prefix ff::/8.
Valid IPv4 multicast addresses have the prefix 224/4.
isMulticastAddress in class InetAddresspublic boolean isSiteLocalAddress()
InetAddressFor the purposes of this method, valid IPv6 site-local addresses have
the deprecated prefix fec0::/10 from
RFC 1884,
not the modern prefix fc00::/7 from
RFC 4193.
RFC 3484
"Default Address Selection for Internet Protocol Version 6 (IPv6)" states
that IPv4 private addresses have the prefix 10/8, 172.16/12,
or 192.168/16.
isSiteLocalAddress in class InetAddresstrue if this instance represents a site-local address,
false otherwise.public int getScopeId()
public NetworkInterface getScopedInterface()
public String toString()
InetAddress"www.google.com/74.125.224.115" or "/127.0.0.1".
IPv6 addresses may additionally include an interface name or scope id.
For example: "www.google.com/2001:4860:4001:803::1013%eth0" or
"/2001:4860:4001:803::1013%2".
toString in class InetAddress