Inet4Address
java.lang.Object
|—java.net.InetAddress
|—|—java.net.Inet4Address
public final class Inet4Address
extends InetAddress
此类表示 Internet 协议版本 4 (IPv4) 地址。由 RFC 790:Assigned Numbers、RFC 1918:Address Allocation for Private Internet 和 RFC 2365:Administratively Scoped IP Multicast IP 地址的文本表示用作方法输入的 IPv4 地址的文本表示采用以下形式之一:
当指定四个部分时,每个部分都被解释为一个数据字节,并从左到右分配给 IPv4 地址的四个字节。
当指定一个三部分地址时,最后一部分被解释为一个 16 位的数量并放置在网络地址的最右边的两个字节中。这使得三部分地址格式便于将 B 类网络地址指定为 128.net.host。
当提供两部分地址时,最后一部分被解释为 24 位数量并放置在网络地址的最右边三个字节中。这使得两部分地址格式便于将 A 类网络地址指定为 net.host。
当只给出一部分时,该值直接存储在网络地址中,无需任何字节重排。
对于将文本表示形式作为输出值返回的方法,使用第一种形式,即点分四组字符串。
多播地址的范围 从历史上看,IP 标头中的 IPv4 TTL 字段作为多播范围字段翻了一番:TTL 为 0 表示节点本地,1 表示链路本地,到 32 表示站点本地,到 64 表示region-local,最多 128 表示大陆本地,最多 255 表示全球。但是,首选管理范围。请参阅 RFC 2365:管理范围的 IP 多播
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
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 是否为站点本地地址的实用程序例程。 |
从类 java.net.InetAddress 继承的方法 |
---|
getAllByName, getByAddress, getByAddress, getByName, getCanonicalHostName, getHostName, getLocalHost, getLoopbackAddress, isReachable, isReachable, toString |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
方法详情
isMulticastAddress
public boolean isMulticastAddress()
检查 InetAddress 是否为 IP 多播地址的实用程序。 IP 多播地址是 D 类地址,即地址的前四位是 1110。
覆盖:
类 InetAddress 中的 isMulticastAddress
返回:
一个布尔值,指示 InetAddress 是否为 IP 多播地址
isAnyLocalAddress
public boolean isAnyLocalAddress()
检查 InetAddress 是否在通配符地址中的实用程序。
覆盖:
类 InetAddress 中的 isAnyLocalAddress
返回:
一个布尔值,指示 Inetaddress 是否为通配符地址。
isLoopbackAddress
public boolean isLoopbackAddress()
检查 InetAddress 是否为环回地址的实用程序。
覆盖:
类 InetAddress 中的 isLoopbackAddress
返回:
一个布尔值,指示 InetAddress 是否为环回地址; 否则为假。
isLinkLocalAddress
public boolean isLinkLocalAddress()
检查 InetAddress 是否为链接本地地址的实用程序。
覆盖:
类 InetAddress 中的 isLinkLocalAddress
返回:
一个布尔值,指示 InetAddress 是否是链接本地地址; 如果地址不是链接本地单播地址,则为 false。
isSiteLocalAddress
public boolean isSiteLocalAddress()
检查 InetAddress 是否为站点本地地址的实用程序例程。
覆盖:
类 InetAddress 中的 isSiteLocalAddress
返回:
一个布尔值,指示 InetAddress 是否是站点本地地址; 如果地址不是站点本地单播地址,则为 false。
isMCGlobal
public boolean isMCGlobal()
检查多播地址是否具有全局范围的实用程序。
覆盖:
类 InetAddress 中的 isMCGlobal
返回:
一个布尔值,指示地址是否是全局范围的多播地址,如果不是全局范围或不是多播地址,则为 false
isMCNodeLocal
public boolean isMCNodeLocal()
检查多播地址是否具有节点范围的实用程序。
覆盖:
类 InetAddress 中的 isMCNodeLocal
返回:
一个布尔值,指示地址是否是节点本地范围的多播地址,如果它不是节点本地范围或不是多播地址,则为 false
isMCLinkLocal
public boolean isMCLinkLocal()
检查多播地址是否具有链接范围的实用程序。
覆盖:
类 InetAddress 中的 isMCLinkLocal
返回:
一个布尔值,指示地址是否是链路本地范围的多播地址,如果不是链路本地范围或不是多播地址,则为 false
isMCSiteLocal
public boolean isMCSiteLocal()
检查多播地址是否具有站点范围的实用程序。
覆盖:
类 InetAddress 中的 isMCSiteLocal
返回:
一个布尔值,指示地址是否是站点本地范围的多播地址,如果它不是站点本地范围或不是多播地址,则为 false
isMCOrgLocal
public boolean isMCOrgLocal()
检查多播地址是否具有组织范围的实用程序。
覆盖:
类 InetAddress 中的 isMCOrgLocal
返回:
一个布尔值,指示地址是否是组织本地范围的多播地址,如果它不是组织本地范围或不是多播地址,则为 false
getAddress
public byte[] getAddress()
返回此 InetAddress 对象的原始 IP 地址。 结果按网络字节顺序排列:地址的最高字节在 getAddress()[0] 中。
覆盖:
类 InetAddress 中的 getAddress
返回:
此对象的原始 IP 地址。
getHostAddress
public String getHostAddress()
以文本形式返回 IP 地址字符串。
覆盖:
类 InetAddress 中的 getHostAddress
返回:
字符串格式的原始 IP 地址。
hashCode
public int hashCode()
返回此 IP 地址的哈希码。
覆盖:
InetAddress 类中的 hashCode
返回:
此 IP 地址的哈希码值。
equals
public boolean equals(Object obj)
将此对象与指定对象进行比较。 当且仅当参数不为 null 并且它表示与此对象相同的 IP 地址时,结果才为真。
如果 getAddress 返回的字节数组的长度对于两者相同,并且每个数组组件对于字节数组都相同,则 InetAddress 的两个实例表示相同的 IP 地址。
覆盖:
等于类 InetAddress
参数:
参数名称 | 参数描述 |
---|---|
obj | 要比较的对象。 |
返回:
如果对象相同,则为 true; 否则为false。