模块 java.base
 java.net

类 Inet4Address

java.lang.Object
java.net.InetAddress
java.net.Inet4Address
所有已实现的接口:
Serializable

public final class Inet4Address extends InetAddress
此类表示 Internet 协议版本 4 (IPv4) 地址。由 RFC 790:分配的号码 RFC 1918:专用互联网的地址分配RFC 2365:管理范围内的 IP 多播 定义

IP 地址的文本表示

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

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

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

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

当只给出一个部分时,值直接存储在网络地址中,不进行任何字节重排。

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

多播地址的范围

从历史上看,IP 报头中的 IPv4 TTL 字段已作为多播范围字段加倍:TTL 为 0 表示节点本地,1 表示链路本地,向上 32 表示站点本地,向上 64 表示区域本地,向上128 表示大陆本地,255 表示全球。但是,首选管理范围。请参考 RFC 2365:管理范围内的 IP 多播
自从:
1.4
参见:
  • 方法详情

    • 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 是否为环回地址;否则为假。
    • 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
      返回:
      a boolean 指示地址是否为全局范围的多播地址,如果不是全局范围或不是多播地址则为 false
    • isMCNodeLocal

      public boolean isMCNodeLocal()
      检查多播地址是否具有节点范围的实用例程。
      重写:
      isMCNodeLocal 在类 InetAddress
      返回:
      a boolean 指示地址是否是节点本地范围的多播地址,如果它不是节点本地范围或不是多播地址则为 false
    • isMCLinkLocal

      public boolean isMCLinkLocal()
      用于检查多播地址是否具有链接范围的实用例程。
      重写:
      isMCLinkLocal 在类 InetAddress
      返回:
      a 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 地址的哈希码值。
      参见:
    • equals

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

      如果 getAddress 返回的字节数组的长度对于两个实例都相同,并且字节数组的每个数组组件都相同,则 InetAddress 的两个实例表示相同的 IP 地址。

      重写:
      equals 在类 InetAddress
      参数:
      obj - 要比较的对象。
      返回:
      true 如果对象相同; false否则。
      参见: