阅读(688) (6)

鸿蒙OS Inet4Address

2022-06-06 16:29:38 更新

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。