java.lang.Object
java.net.InetAddress
java.net.Inet4Address
- 所有已实现的接口:
-
Serializable
该类表示一个IPv4地址。由 RFC 790: 分配的数字, RFC 1918: 专用互联网地址分配和RFC 2365: 管理范围的IP组播定义。
IP地址的文本表示
作为方法输入的IPv4地址的文本表示采用以下形式之一:
d.d.d.d
d.d.d
d.d
d
当指定四个部分时,每个部分被解释为一个数据字节,并从左到右分配给IPv4地址的四个字节。
当指定三个部分地址时,最后一个部分被解释为一个16位数量,并放置在网络地址的最右两个字节中。这使得三部分地址格式方便指定类B网络地址为128.net.host。
当提供两部分地址时,最后一个部分被解释为一个24位数量,并放置在网络地址的最右三个字节中。这使得两部分地址格式方便指定类A网络地址为net.host。
当只给出一个部分时,该值直接存储在网络地址中,不进行任何字节重新排列。
对于返回文本表示作为输出值的方法,使用第一种形式,即点分四进制字符串。
多播地址的范围
历史上,IP头中的IPv4 TTL字段兼作多播范围字段:TTL为0表示节点本地,1表示链路本地,直至32表示站点本地,直至64表示区域本地,直至128表示大陆本地,直至255为全局。然而,首选管理范围。请参考 RFC 2365: 管理范围的IP组播- 自版本:
- 1.4
- 外部规范
- 参见:
-
Method Summary
Modifier and TypeMethodDescriptionboolean
比较此对象与指定对象。byte[]
返回此InetAddress
对象的原始IP地址。返回以文本形式呈现的IP地址字符串。int
hashCode()
返回此IP地址的哈希码。boolean
检查InetAddress是否为通配符地址的实用程序例程。boolean
检查InetAddress是否为链路本地地址的实用程序例程。boolean
检查InetAddress是否为环回地址的实用程序例程。boolean
检查多播地址是否具有全局范围的实用程序例程。boolean
检查多播地址是否具有链路范围的实用程序例程。boolean
检查多播地址是否具有节点范围的实用程序例程。boolean
检查多播地址是否具有组织范围的实用程序例程。boolean
检查多播地址是否具有站点范围的实用程序例程。boolean
检查InetAddress是否为IP多播地址的实用程序例程。boolean
检查InetAddress是否为站点本地地址的实用程序例程。Methods declared in class java.net.InetAddress
getAllByName, getByAddress, getByAddress, getByName, getCanonicalHostName, getHostName, getLocalHost, getLoopbackAddress, isReachable, isReachable, toString
-
Method Details
-
isMulticastAddress
public boolean isMulticastAddress()检查InetAddress是否为IP多播地址的实用程序例程。IP多播地址是类D地址,即地址的前四位为1110。- 覆盖:
-
isMulticastAddress
在类InetAddress
中 - 返回:
-
一个
boolean
指示InetAddress是否为IP多播地址
-
isAnyLocalAddress
public boolean isAnyLocalAddress()检查InetAddress是否为通配符地址的实用程序例程。- 覆盖:
-
isAnyLocalAddress
在类InetAddress
中 - 返回:
-
一个
boolean
指示InetAddress是否为通配符地址。
-
isLoopbackAddress
public boolean isLoopbackAddress()检查InetAddress是否为环回地址的实用程序例程。- 覆盖:
-
isLoopbackAddress
在类InetAddress
中 - 返回:
-
一个
boolean
指示InetAddress是否为环回地址;否则为false。
-
isLinkLocalAddress
public boolean isLinkLocalAddress()检查InetAddress是否为链路本地地址的实用程序例程。- 覆盖:
-
isLinkLocalAddress
在类InetAddress
中 - 返回:
-
一个
boolean
指示InetAddress是否为链路本地地址;如果地址不是链路本地单播地址,则为false。
-
isSiteLocalAddress
public boolean isSiteLocalAddress()检查InetAddress是否为站点本地地址的实用程序例程。- 覆盖:
-
isSiteLocalAddress
在类InetAddress
中 - 返回:
-
一个
boolean
指示InetAddress是否为站点本地地址;如果地址不是站点本地单播地址,则为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
返回以文本形式呈现的IP地址字符串。- 覆盖:
-
getHostAddress
在类InetAddress
中 - 返回:
- 以字符串格式返回原始IP地址。
-
hashCode
public int hashCode()返回此IP地址的哈希码。- 覆盖:
-
hashCode
在类InetAddress
中 - 返回:
- 此IP地址的哈希码值。
- 参见:
-
equals
与指定对象比较此对象。结果为true
仅当参数不为null
且表示与此对象相同的IP地址时。InetAddress
的两个实例表示相同的IP地址,如果getAddress
返回的字节数组的长度对于两者都相同,并且每个数组组件对于字节数组都是相同的。- 覆盖:
-
equals
在类InetAddress
中 - 参数:
-
obj
- 要比较的对象。 - 返回:
-
如果对象相同则为
true
; 否则为false
。 - 参见:
-