java.net

接口
异常
java.lang.Object
  继承者 java.net.InetAddress
      继承者 java.net.Inet4Address
所有已实现的接口:
Serializable

public final class Inet4Address
     
extends InetAddress

此类表示 Internet Protocol version 4 (IPv4) 地址。此类是由 RFC 790:Assigned NumbersRFC 1918:Address Allocation for Private InternetsRFC 2365:Administratively Scoped IP Multicast 定义的。

IP 地址的文本表示形式

用作方法输入的 IPv4 地址的文本表示形式采取以下形式之一:
d.d.d.d
d.d.d
d.d
d

当指定四个部分时,将每个部分解释为一个数据字节,并从左到右分配给 IPv4 地址的四个字节。

当指定三部分地址时,将最后一个部分解释为 16 位量,并放置在网络地址的最右边两个字节。这使得三部分地址格式便于将 Class B 网络地址指定为 128.net.host。

当提供两部分地址时,将最后一个部分解释为 24 位量,并放置在网络地址的最右边三个字节。这使得两部分地址格式便于将 Class A 网络地址指定为 net.host。

当仅给出一个部分时,值被直接存储在网络地址中,无需进行字节重排。

对于将文本表示形式作为输出值返回的方法而言,使用第一种形式,即使用以点分隔的四个字符串。

多播地址的范围

在历史上,IP 头中的 IPv4 生存时间 (Time To Live, TTL) 字段已作为多播范围字段增大了一倍:TTL 为 0 表示节点本地 (node-local),1 表示链接本地 (link-local),32 表示站点本地 (site-local),64 表示地区本地 (region-local),128 表示大陆本地 (continent-local),255 表示全球。但是,首选范围是行政管理范围 (administrative scoping)。请参阅 RFC 2365:Administratively Scoped IP Multicast

从以下版本开始:
1.4
另请参见:
序列化表格

方法摘要
 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, isReachable, isReachable, toString
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

方法详细信息

isMulticastAddress

public boolean isMulticastAddress()
检查 InetAddress 是否是 IP 多播地址的实用例行程序。IP 多播地址是 Class D 地址,也就是说,第一个四位地址为 1110。

覆盖:
InetAddress 中的 isMulticastAddress
返回:
指示 InetAddress 是否是 IP 多播地址的 boolean
从以下版本开始:
JDK1.1

isAnyLocalAddress

public boolean isAnyLocalAddress()
检查 InetAddress 是否是通配符地址的实用例行程序。

覆盖:
InetAddress 中的 isAnyLocalAddress
返回:
指示 Inetaddress 是否是通配符地址的 boolean
从以下版本开始:
1.4

isLoopbackAddress

public boolean isLoopbackAddress()
从类 InetAddress 复制的描述
检查 InetAddress 是否是回送地址的实用例行程序。

覆盖:
InetAddress 中的 isLoopbackAddress
返回:
指示 InetAddress 是否是回送地址的 boolean 值;否则返回 false。

isLinkLocalAddress

public boolean isLinkLocalAddress()
检查 InetAddress 是否是链接本地地址的实用例行程序。

覆盖:
InetAddress 中的 isLinkLocalAddress
返回:
指示 InetAddress 是否是本地链接地址的 boolean 值;如果地址不是链接本地单播地址,则返回 false。
从以下版本开始:
1.4

isSiteLocalAddress

public boolean isSiteLocalAddress()
检查 InetAddress 是否是站点本地地址的实用例行程序。

覆盖:
InetAddress 中的 isSiteLocalAddress
返回:
指示 InetAddress 是否是站点本地地址的 boolean 值;如果地址不是站点本地单播地址,则返回 false。
从以下版本开始:
1.4

isMCGlobal

public boolean isMCGlobal()
检查多播地址是否具有全局范围的实用例行程序。

覆盖:
InetAddress 中的 isMCGlobal
返回:
指示地址是否是全局范围多播地址的 boolean 值;如果它不是全局范围或多播地址,则返回 false
从以下版本开始:
1.4

isMCNodeLocal

public boolean isMCNodeLocal()
检查多播地址是否具有节点范围的实用例行程序。

覆盖:
InetAddress 中的 isMCNodeLocal
返回:
指示地址是否是节点本地范围多播地址的 boolean 值;如果它不是节点本地范围或多播地址,则返回 false
从以下版本开始:
1.4

isMCLinkLocal

public boolean isMCLinkLocal()
检查多播地址是否具有链接范围的实用例行程序。

覆盖:
InetAddress 中的 isMCLinkLocal
返回:
指示地址是否是链接本地范围多播地址的 boolean 值;如果它不是链接本地范围或多播地址,则返回 false
从以下版本开始:
1.4

isMCSiteLocal

public boolean isMCSiteLocal()
检查多播地址是否具有站点范围的实用例行程序。

覆盖:
InetAddress 中的 isMCSiteLocal
返回:
指示地址是否是站点本地范围多播地址的 boolean;如果它不是站点本地范围或多播地址,则返回 false
从以下版本开始:
1.4

isMCOrgLocal

public boolean isMCOrgLocal()
检查多播地址是否具有组织范围的实用例程。

覆盖:
InetAddress 中的 isMCOrgLocal
返回:
指示地址是否是组织本地范围多播地址的 boolean;如果它不是组织本地范围或多播地址,则返回 false
从以下版本开始:
1.4

getAddress

public byte[] getAddress()
返回此 InetAddress 对象的原始 IP 地址。结果按网络字节顺序:地址的高位字节位于 getAddress()[0] 中。

覆盖:
InetAddress 中的 getAddress
返回:
此对象的原始 IP 地址。

getHostAddress

public String getHostAddress()
返回 IP 地址字符串(以文本表现形式)。

覆盖:
InetAddress 中的 getHostAddress
返回:
字符串格式的原始 IP 地址。
从以下版本开始:
JDK1.0.2

hashCode

public int hashCode()
返回此 IP 地址的哈希码。

覆盖:
InetAddress 中的 hashCode
返回:
此 IP 地址的哈希码值。
另请参见:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object obj)
将此对象与指定对象比较。当且仅当参数不为 null,并且它表示与此对象相同的 IP 地址时,结果才为 true

如果 getAddress 对两个 InetAddress 返回的 byte 数组长度相同并且 byte 数组的每个数组元素也都相同,则这两个 InetAddress 的实例表示相同的 IP 地址。

覆盖:
InetAddress 中的 equals
参数:
obj - 要与之比较的对象。
返回:
如果对象相同,则返回 true;否则,返回 false
另请参见:
InetAddress.getAddress()