鴻蒙OS Inet4Address

2022-06-08 17:05 更新

Inet4Address

java.lang.Object

|---java.net.InetAddress

|---|---java.net.Inet4Address

public final class Inet4Address
extends InetAddress

此類表示 Internet 協(xié)議版本 4 (IPv4) 地址。由 RFC 790:Assigned Numbers、RFC 1918:Address Allocation for Private Internet 和 RFC 2365:Administratively Scoped IP Multicast IP 地址的文本表示用作方法輸入的 IPv4 地址的文本表示采用以下形式之一:

當(dāng)指定四個(gè)部分時(shí),每個(gè)部分都被解釋為一個(gè)數(shù)據(jù)字節(jié),并從左到右分配給 IPv4 地址的四個(gè)字節(jié)。

當(dāng)指定一個(gè)三部分地址時(shí),最后一部分被解釋為一個(gè) 16 位的數(shù)量并放置在網(wǎng)絡(luò)地址的最右邊的兩個(gè)字節(jié)中。這使得三部分地址格式便于將 B 類網(wǎng)絡(luò)地址指定為 128.net.host。

當(dāng)提供兩部分地址時(shí),最后一部分被解釋為 24 位數(shù)量并放置在網(wǎng)絡(luò)地址的最右邊三個(gè)字節(jié)中。這使得兩部分地址格式便于將 A 類網(wǎng)絡(luò)地址指定為 net.host。

當(dāng)只給出一部分時(shí),該值直接存儲(chǔ)在網(wǎng)絡(luò)地址中,無需任何字節(jié)重排。

對(duì)于將文本表示形式作為輸出值返回的方法,使用第一種形式,即點(diǎn)分四組字符串。

多播地址的范圍 從歷史上看,IP 標(biāo)頭中的 IPv4 TTL 字段作為多播范圍字段翻了一番:TTL 為 0 表示節(jié)點(diǎn)本地,1 表示鏈路本地,到 32 表示站點(diǎn)本地,到 64 表示region-local,最多 128 表示大陸本地,最多 255 表示全球。但是,首選管理范圍。請(qǐng)參閱 RFC 2365:管理范圍的 IP 多播

方法總結(jié)

修飾符和類型 方法 描述
boolean equals(Object obj) 將此對(duì)象與指定對(duì)象進(jìn)行比較。
byte[] getAddress() 返回此 InetAddress 對(duì)象的原始 IP 地址。
String getHostAddress() 以文本形式返回 IP 地址字符串。
int hashCode() 返回此 IP 地址的哈希碼。
boolean isAnyLocalAddress() 檢查 InetAddress 是否在通配符地址中的實(shí)用程序。
boolean isLinkLocalAddress() 檢查 InetAddress 是否為鏈接本地地址的實(shí)用程序。
boolean isLoopbackAddress() 檢查 InetAddress 是否為環(huán)回地址的實(shí)用程序。
boolean isMCGlobal() 檢查多播地址是否具有全局范圍的實(shí)用程序。
boolean isMCLinkLocal() 檢查多播地址是否具有鏈接范圍的實(shí)用程序。
boolean isMCNodeLocal() 檢查多播地址是否具有節(jié)點(diǎn)范圍的實(shí)用程序。
boolean isMCOrgLocal() 檢查多播地址是否具有組織范圍的實(shí)用程序。
boolean isMCSiteLocal() 檢查多播地址是否具有站點(diǎn)范圍的實(shí)用程序。
boolean isMulticastAddress() 檢查 InetAddress 是否為 IP 多播地址的實(shí)用程序。
boolean isSiteLocalAddress() 檢查 InetAddress 是否為站點(diǎn)本地地址的實(shí)用程序例程。
從類 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 多播地址的實(shí)用程序。 IP 多播地址是 D 類地址,即地址的前四位是 1110。

覆蓋:

類 InetAddress 中的 isMulticastAddress

返回:

一個(gè)布爾值,指示 InetAddress 是否為 IP 多播地址

isAnyLocalAddress

public boolean isAnyLocalAddress()

檢查 InetAddress 是否在通配符地址中的實(shí)用程序。

覆蓋:

類 InetAddress 中的 isAnyLocalAddress

返回:

一個(gè)布爾值,指示 Inetaddress 是否為通配符地址。

isLoopbackAddress

public boolean isLoopbackAddress()

檢查 InetAddress 是否為環(huán)回地址的實(shí)用程序。

覆蓋:

類 InetAddress 中的 isLoopbackAddress

返回:

一個(gè)布爾值,指示 InetAddress 是否為環(huán)回地址; 否則為假。

isLinkLocalAddress

public boolean isLinkLocalAddress()

檢查 InetAddress 是否為鏈接本地地址的實(shí)用程序。

覆蓋:

類 InetAddress 中的 isLinkLocalAddress

返回:

一個(gè)布爾值,指示 InetAddress 是否是鏈接本地地址; 如果地址不是鏈接本地單播地址,則為 false。

isSiteLocalAddress

public boolean isSiteLocalAddress()

檢查 InetAddress 是否為站點(diǎn)本地地址的實(shí)用程序例程。

覆蓋:

類 InetAddress 中的 isSiteLocalAddress

返回:

一個(gè)布爾值,指示 InetAddress 是否是站點(diǎn)本地地址; 如果地址不是站點(diǎn)本地單播地址,則為 false。

isMCGlobal

public boolean isMCGlobal()

檢查多播地址是否具有全局范圍的實(shí)用程序。

覆蓋:

類 InetAddress 中的 isMCGlobal

返回:

一個(gè)布爾值,指示地址是否是全局范圍的多播地址,如果不是全局范圍或不是多播地址,則為 false

isMCNodeLocal

public boolean isMCNodeLocal()

檢查多播地址是否具有節(jié)點(diǎn)范圍的實(shí)用程序。

覆蓋:

類 InetAddress 中的 isMCNodeLocal

返回:

一個(gè)布爾值,指示地址是否是節(jié)點(diǎn)本地范圍的多播地址,如果它不是節(jié)點(diǎn)本地范圍或不是多播地址,則為 false

isMCLinkLocal

public boolean isMCLinkLocal()

檢查多播地址是否具有鏈接范圍的實(shí)用程序。

覆蓋:

類 InetAddress 中的 isMCLinkLocal

返回:

一個(gè)布爾值,指示地址是否是鏈路本地范圍的多播地址,如果不是鏈路本地范圍或不是多播地址,則為 false

isMCSiteLocal

public boolean isMCSiteLocal()

檢查多播地址是否具有站點(diǎn)范圍的實(shí)用程序。

覆蓋:

類 InetAddress 中的 isMCSiteLocal

返回:

一個(gè)布爾值,指示地址是否是站點(diǎn)本地范圍的多播地址,如果它不是站點(diǎn)本地范圍或不是多播地址,則為 false

isMCOrgLocal

public boolean isMCOrgLocal()

檢查多播地址是否具有組織范圍的實(shí)用程序。

覆蓋:

類 InetAddress 中的 isMCOrgLocal

返回:

一個(gè)布爾值,指示地址是否是組織本地范圍的多播地址,如果它不是組織本地范圍或不是多播地址,則為 false

getAddress

public byte[] getAddress()

返回此 InetAddress 對(duì)象的原始 IP 地址。 結(jié)果按網(wǎng)絡(luò)字節(jié)順序排列:地址的最高字節(jié)在 getAddress()[0] 中。

覆蓋:

類 InetAddress 中的 getAddress

返回:

此對(duì)象的原始 IP 地址。

getHostAddress

public String getHostAddress()

以文本形式返回 IP 地址字符串。

覆蓋:

類 InetAddress 中的 getHostAddress

返回:

字符串格式的原始 IP 地址。

hashCode

public int hashCode()

返回此 IP 地址的哈希碼。

覆蓋:

InetAddress 類中的 hashCode

返回:

此 IP 地址的哈希碼值。

equals

public boolean equals(Object obj)

將此對(duì)象與指定對(duì)象進(jìn)行比較。 當(dāng)且僅當(dāng)參數(shù)不為 null 并且它表示與此對(duì)象相同的 IP 地址時(shí),結(jié)果才為真。

如果 getAddress 返回的字節(jié)數(shù)組的長(zhǎng)度對(duì)于兩者相同,并且每個(gè)數(shù)組組件對(duì)于字節(jié)數(shù)組都相同,則 InetAddress 的兩個(gè)實(shí)例表示相同的 IP 地址。

覆蓋:

等于類 InetAddress

參數(shù):

參數(shù)名稱 參數(shù)描述
obj 要比較的對(duì)象。

返回:

如果對(duì)象相同,則為 true; 否則為false。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)