- java.lang.Object
-
- java.net.InetAddress
-
- java.net.Inet4Address
-
- All Implemented Interfaces:
-
Serializable
public final class Inet4Address extends InetAddress
该类表示Internet协议版本4(IPv4)地址。 通过定义RFC 790: Assigned Numbers , RFC 1918: Address Allocation for Private Internets ,并RFC 2365: Administratively Scoped IP MulticastTextual representation of IP addresses
用作方法输入的IPv4地址的文本表示方式采用以下形式之一:d.d.d.d
d.d.d
d.d
d
当指定四个部分时,每个被解释为数据的字节,并从IPv4到IPv4地址的四个字节从左到右分配。
当指定三部分地址时,最后一部分被解释为16位数量,并放置在网络地址的最右边两个字节。 这使得三部分地址格式方便地将B类网络地址指定为128.net.host。
当提供两部分地址时,最后一部分被解释为24位数量,并放置在网络地址的最右边三个字节。 这使得两部分地址格式方便地将A类网络地址指定为net.host。
当仅给出一部分时,该值直接存储在网络地址中,无需任何字节重排。
对于返回文本表示作为输出值的方法,使用第一种形式,即点划线字符串。
组播地址的范围
历史上,IP报头中的IPv4 TTL字段作为组播范围字段翻了一番:TTL为0表示节点本地,1表示链路本地,直到32表示站点本地,直到64表示区域本地,向上128表示大陆本地,最多255个是全局的。 但是,行政范围是首选。 请参考RFC 2365: Administratively Scoped IP Multicast- 从以下版本开始:
- 1.4
- 另请参见:
- Serialized Form
-
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 boolean
equals(Object obj)
将此对象与指定对象进行比较。byte[]
getAddress()
返回此InetAddress
对象的原始IP地址。String
getHostAddress()
以文本表示形式返回IP地址字符串。int
hashCode()
返回此IP地址的哈希码。boolean
isAnyLocalAddress()
检查InetAddress是否为通配符地址的实用程序。boolean
isLinkLocalAddress()
检查InetAddress是否是链接本地地址的实用程序。boolean
isLoopbackAddress()
检查InetAddress是否是环回地址的实用程序。boolean
isMCGlobal()
检查多播地址是否具有全局范围的实用程序。boolean
isMCLinkLocal()
检查组播地址是否具有链路范围的实用程序。boolean
isMCNodeLocal()
检查多播地址是否具有节点范围的实用程序。boolean
isMCOrgLocal()
检查组播地址是否具有组织范围的实用程序。boolean
isMCSiteLocal()
检查多播地址是否具有站点范围的实用程序。boolean
isMulticastAddress()
检查InetAddress是否是IP组播地址的实用程序。boolean
isSiteLocalAddress()
检查InetAddress是否是站点本地地址的实用程序。-
Methods inherited from class java.net.InetAddress
getAllByName, getByAddress, getByAddress, getByName, getCanonicalHostName, getHostName, getLocalHost, getLoopbackAddress, isReachable, isReachable, toString
-
-
-
-
方法详细信息
-
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
public String getHostAddress()
以文本表示形式返回IP地址字符串。- 重写:
-
getHostAddress
在InetAddress
- 结果
- 原始IP地址为字符串格式。
-
hashCode
public int hashCode()
返回此IP地址的哈希码。- 重写:
-
hashCode
在InetAddress
- 结果
- 该IP地址的哈希码值。
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
equals
public boolean equals(Object obj)
将此对象与指定对象进行比较。 如果且仅当参数不是null
并且表示与此对象相同的IP地址时,结果为true
。如果
getAddress
返回的字节数组的长度相同,则InetAddress
两个实例表示相同的IP地址,并且每个数组组件对于字节数组是相同的。- 重写:
-
equals
在InetAddress
- 参数
-
obj
- 要比较的对象。 - 结果
-
true
如果对象是一样的; 否则为false
。 - 另请参见:
-
InetAddress.getAddress()
-
-