Module  java.base
软件包  java.net

Class Inet4Address

  • All Implemented Interfaces:
    Serializable


    public final class Inet4Address
    extends InetAddress
    该类表示Internet协议版本4(IPv4)地址。 通过定义RFC 790: Assigned NumbersRFC 1918: Address Allocation for Private Internets ,并RFC 2365: Administratively Scoped IP Multicast

    Textual representation of IP addresses

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

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

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

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

    当仅给出一部分时,该值直接存储在网络地址中,无需任何字节重排。

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

    组播地址的范围

    历史上,IP报头中的IPv4 TTL字段作为组播范围字段翻了一番:TTL为0表示节点本地,1表示链路本地,直到32表示站点本地,直到64表示区域本地,向上128表示大陆本地,最多255个是全局的。 但是,行政范围是首选。 请参考RFC 2365: Administratively Scoped IP Multicast
    从以下版本开始:
    1.4
    另请参见:
    Serialized Form
    • 方法详细信息

      • isMulticastAddress

        public boolean isMulticastAddress​()
        检查InetAddress是否是IP组播地址的实用程序。 IP组播地址是D类地址,即地址的前四位为1110。
        重写:
        isMulticastAddressInetAddress
        结果
        一个 boolean指示InetAddress是否是IP组播地址
      • isAnyLocalAddress

        public boolean isAnyLocalAddress​()
        检查InetAddress是否为通配符地址的实用程序。
        重写:
        isAnyLocalAddressInetAddress
        结果
        一个 boolean指示Inetaddress是否是通配符地址。
      • isLoopbackAddress

        public boolean isLoopbackAddress​()
        检查InetAddress是否是环回地址的实用程序。
        重写:
        isLoopbackAddressInetAddress
        结果
        一个boolean指示InetAddress是否是一个环回地址; 否则为false。
      • isLinkLocalAddress

        public boolean isLinkLocalAddress​()
        检查InetAddress是否是链接本地地址的实用程序。
        重写:
        isLinkLocalAddressInetAddress
        结果
        一个boolean指示InetAddress是否是链路本地地址; 如果地址不是链路本地单播地址,则为false。
      • isSiteLocalAddress

        public boolean isSiteLocalAddress​()
        检查InetAddress是否是站点本地地址的实用程序。
        重写:
        isSiteLocalAddressInetAddress
        结果
        一个boolean指示InetAddress是否是一个站点本地地址; 如果地址不是站点本地单播地址,则为false。
      • isMCGlobal

        public boolean isMCGlobal​()
        检查多播地址是否具有全局范围的实用程序。
        重写:
        isMCGlobalInetAddress
        结果
        一个 boolean指示地址是否是全局范围的多播地址,如果不是全局范围,则为false,或者不是多播地址
      • isMCNodeLocal

        public boolean isMCNodeLocal​()
        检查多播地址是否具有节点范围的实用程序。
        重写:
        isMCNodeLocalInetAddress
        结果
        一个 boolean指示地址是否是节点本地作用域的多播地址,如果不是节点本地作用域,则为false,或者不是多播地址
      • isMCLinkLocal

        public boolean isMCLinkLocal​()
        检查组播地址是否具有链路范围的实用程序。
        重写:
        isMCLinkLocalInetAddress
        结果
        一个 boolean指示地址是否是链路本地范围的多播地址,如果不是链路本地范围或不是多播地址,则为false
      • isMCSiteLocal

        public boolean isMCSiteLocal​()
        检查多播地址是否具有站点范围的实用程序。
        重写:
        isMCSiteLocalInetAddress
        结果
        一个 boolean指示地址是否是站点本地范围的多播地址,如果不是站点本地作用域,则为false,或者不是多播地址
      • isMCOrgLocal

        public boolean isMCOrgLocal​()
        检查组播地址是否具有组织范围的实用程序。
        重写:
        isMCOrgLocalInetAddress
        结果
        一个 boolean指示地址是否是组织本地作用域的组播地址,如果不是组织本地作用域,或者不是组播地址,则为false
      • getAddress

        public byte[] getAddress​()
        返回此InetAddress对象的原始IP地址。 结果是网络字节顺序:地址的最高位字节在getAddress()[0]
        重写:
        getAddressInetAddress
        结果
        该对象的原始IP地址。
      • getHostAddress

        public String getHostAddress​()
        以文本表示形式返回IP地址字符串。
        重写:
        getHostAddressInetAddress
        结果
        原始IP地址为字符串格式。
      • equals

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

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

        重写:
        equalsInetAddress
        参数
        obj - 要比较的对象。
        结果
        true如果对象是一样的; 否则为false
        另请参见:
        InetAddress.getAddress()