树叶云鸿蒙OS教程:鸿蒙OS NetworkInterface

NetworkInterface

java.lang.Object

|—java.net.NetworkInterface

public final class NetworkInterface
extends Object

此类表示由名称和分配给该接口的 IP 地址列表组成的网络接口。 它用于标识加入多播组的本地接口。 接口通常以诸如“le0”之类的名称而闻名。

方法总结

修饰符和类型方法描述
booleanequals(Object obj)将此对象与指定对象进行比较。
static NetworkInterfacegetByIndex(int index)获取给定索引的网络接口。
static NetworkInterfacegetByInetAddress(InetAddress addr)搜索绑定了指定 Internet 协议 (IP) 地址的网络接口的便捷方法。
static NetworkInterfacegetByName(String name)搜索具有指定名称的网络接口。
StringgetDisplayName()获取此网络接口的显示名称。
byte[]getHardwareAddress()返回接口的硬件地址(通常是 MAC),如果它有一个并且在当前权限下可以访问它。
intgetIndex()返回此网络接口的索引。
EnumerationInetAddressgetInetAddresses()返回 Enumeration 的便捷方法,其中所有或部分 InetAddresses 绑定到此网络接口。
ListInterfaceAddressgetInterfaceAddresses()获取此网络接口的所有或部分 InterfaceAddresses 的列表。
intgetMTU()返回此接口的最大传输单元 (MTU)。
StringgetName()获取此网络接口的名称。
static EnumerationNetworkInterfacegetNetworkInterfaces()返回这台机器上的所有接口。
NetworkInterfacegetParent()如果这是子接口,则返回此接口的父 NetworkInterface;如果它是物理(非虚拟)接口或没有父接口,则返回 null。
EnumerationNetworkInterfacegetSubInterfaces()获取连接到此网络接口的所有子接口(也称为虚拟接口)的枚举。
inthashCode()返回对象的哈希码值。
booleanisLoopback()返回网络接口是否为环回接口。
booleanisPointToPoint()返回网络接口是否为点对点接口。
booleanisUp()返回网络接口是否已启动并正在运行。
booleanisVirtual()返回此接口是否为虚拟接口(也称为子接口)。
booleansupportsMulticast()返回网络接口是否支持多播。
StringtoString()返回对象的字符串表示形式。
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait

方法详情

getName

public String getName()

获取此网络接口的名称。

返回:

此网络接口的名称

getInetAddresses

public EnumerationInetAddress getInetAddresses()

返回 Enumeration 的便捷方法,其中所有或部分 InetAddresses 绑定到此网络接口。

如果有安全管理器,则为每个 InetAddress 调用其 checkConnect 方法。 只有 checkConnect 未引发 SecurityException 的 InetAddress 才会在枚举中返回。 但是,如果调用者具有 NetPermission(“getNetworkInformation”) 权限,则返回所有 InetAddresses。

返回:

一个 Enumeration 对象,其中所有或部分 InetAddresses 绑定到此网络接口

getInterfaceAddresses

public ListInterfaceAddress getInterfaceAddresses()

获取此网络接口的所有或部分 InterfaceAddresses 的列表。

如果有安全管理器,则使用每个 InterfaceAddress 的 InetAddress 调用其 checkConnect 方法。 只有 checkConnect 没有抛出 SecurityException 的 InterfaceAddress 才会在列表中返回。

返回:

具有此网络接口的全部或部分 InterfaceAddress 的 List 对象

getSubInterfaces

public EnumerationNetworkInterface getSubInterfaces()

获取连接到此网络接口的所有子接口(也称为虚拟接口)的枚举。

例如 eth0:1 将是 eth0 的子接口。

返回:

具有此网络接口的所有子接口的 Enumeration 对象

getParent

public NetworkInterface getParent()

如果这是子接口,则返回此接口的父 NetworkInterface;如果它是物理(非虚拟)接口或没有父接口,则返回 null。

返回:

此接口附加到的 NetworkInterface。

getIndex

public int getIndex()

返回此网络接口的索引。 索引是大于或等于 0 的整数,或 -1 表示未知。 这是一个系统特定的值,同名的接口在不同的机器上可以有不同的索引。

返回:

此网络接口的索引,如果索引未知,则为 -1

getDisplayName

public String getDisplayName()

获取此网络接口的显示名称。 显示名称是描述网络设备的人类可读字符串。

返回:

表示此网络接口的显示名称的非空字符串,如果没有可用的显示名称,则返回 null。

getByName

public static NetworkInterface getByName(String name) throws SocketException

搜索具有指定名称的网络接口。

参数:

参数名称参数描述
name网络接口的名称。

返回:

具有指定名称的 NetworkInterface,如果没有具有指定名称的网络接口,则为 null。

Throws:

Throw名称Throw描述
SocketException如果发生 I/O 错误。
NullPointerException如果指定的名称为空。

getByIndex

public static NetworkInterface getByIndex(int index) throws SocketException

获取给定索引的网络接口。

参数:

Parameter NameParameter Description
indexan integer, the index of the interface

返回:

从其索引获得的 NetworkInterface,如果系统上没有具有此类索引的接口,则为 null

Throws:

Throw名称Throw描述
SocketException如果发生 I/O 错误。
IllegalArgumentException如果索引为负值

getByInetAddress

public static NetworkInterface getByInetAddress(InetAddress addr) throws SocketException

搜索绑定了指定 Internet 协议 (IP) 地址的网络接口的便捷方法。

如果指定的 IP 地址绑定到多个网络接口,则未定义返回哪个网络接口。

参数:

参数名称参数描述
addrThe InetAddress to search with.

返回:

如果没有具有指定 IP 地址的网络接口,则为 NetworkInterface 或 null。

Throws:

Throw名称Throw描述
SocketException如果发生 I/O 错误。
NullPointerException如果指定的地址为空。

getNetworkInterfaces

public static EnumerationNetworkInterface getNetworkInterfaces() throws SocketException

返回这台机器上的所有接口。 Enumeration 包含至少一个元素,可能表示一个仅支持本机实体之间通信的环回接口。 注意:可以使用 getNetworkInterfaces()+getInetAddresses() 获取该节点的所有 IP 地址

返回:

在这台机器上找到的 NetworkInterfaces 枚举

Throws:

Throw名称Throw描述
SocketException如果发生 I/O 错误。

isUp

public boolean isUp() throws SocketException

返回网络接口是否已启动并正在运行。

返回:

如果接口已启动并正在运行,则为 true。

Throws:

Throw名称Throw描述
SocketException如果发生 I/O 错误。

isLoopback

public boolean isLoopback() throws SocketException

返回网络接口是否为环回接口。

返回:

如果接口是环回接口,则为 true。

Throws:

Throw名称Throw描述
SocketException如果发生 I/O 错误。

isPointToPoint

public boolean isPointToPoint() throws SocketException

返回网络接口是否为点对点接口。 典型的点对点接口是通过调制解调器的 PPP 连接。

返回:

如果接口是点对点接口,则为 true。

Throws:

Throw名称Throw描述
SocketException如果发生 I/O 错误。

supportsMulticast

public boolean supportsMulticast() throws SocketException

返回网络接口是否支持多播。

返回:

如果接口支持多播,则为 true。

Throws:

Throw名称Throw描述
SocketException如果发生 I/O 错误。

getHardwareAddress

public byte[] getHardwareAddress() throws SocketException

返回接口的硬件地址(通常是 MAC),如果它有一个并且在当前权限下可以访问它。 如果设置了安全管理器,则调用者必须具有 NetPermission(“getNetworkInformation”) 权限。

返回:

包含地址的字节数组,如果地址不存在,则为 null,无法访问或设置了安全管理器并且调用者没有权限 NetPermission(“getNetworkInformation”)

Throws:

Throw名称Throw描述
SocketException如果发生 I/O 错误。

getMTU

public int getMTU() throws SocketException

返回此接口的最大传输单元 (MTU)。

返回:

该接口的 MTU 值。

Throws:

Throw名称Throw描述
SocketException如果发生 I/O 错误。

isVirtual

public boolean isVirtual()

返回此接口是否为虚拟接口(也称为子接口)。 在某些系统上,虚拟接口是作为物理接口的子接口创建的接口,并具有不同的设置(如地址或 MTU)。 通常接口的名称是父接口的名称,后跟一个冒号 (:) 和一个标识子接口的数字,因为可以有多个虚拟接口连接到单个物理接口。

返回:

如果此接口是虚拟接口,则为 true。

equals

public boolean equals(Object obj)

将此对象与指定对象进行比较。 当且仅当参数不为 null 并且它表示与此对象相同的 NetworkInterface 时,结果才为真。

如果名称和地址都相同,则两个 NetworkInterface 实例表示相同的 NetworkInterface。

覆盖:

类 Object 中的等于

参数:

参数名称参数描述
obj要比较的对象。

返回:

如果对象相同,则为 true; 否则为false。

hashCode

public int hashCode()

从类复制的描述:对象

返回对象的哈希码值。 支持这种方法是为了有利于哈希表,例如 HashMap 提供的那些。

hashCode 的一般合约是:

  • 每当在 Java 应用程序执行期间对同一对象多次调用时,hashCode 方法必须始终返回相同的整数,前提是没有修改对象上相等比较中使用的信息。 该整数不需要从应用程序的一次执行到同一应用程序的另一次执行保持一致。
  • 如果两个对象根据 equals(Object) 方法相等,则对两个对象中的每一个调用 hashCode 方法必须产生相同的整数结果。
  • 如果根据 Object.equals(java.lang.Object) 方法,如果两个对象不相等,则不要求对两个对象中的每一个调用 hashCode 方法必须产生不同的整数结果。 但是,程序员应该意识到,为不相等的对象生成不同的整数结果可能会提高哈希表的性能。

在合理可行的情况下,由 Object 类定义的 hashCode 方法确实为不同的对象返回不同的整数。 (这通常通过将对象的内部地址转换为整数来实现,但 Java™ 编程语言不需要这种实现技术。)

覆盖:

类 Object 中的 hashCode

返回:

此对象的哈希码值。

toString

public String toString()

从类复制的描述:对象

返回对象的字符串表示形式。 通常,toString 方法返回一个“以文本方式表示”该对象的字符串。 结果应该是一个简洁但信息丰富的表示,易于人们阅读。 建议所有子类重写此方法。

Object 类的 toString 方法返回一个字符串,该字符串由对象作为其实例的类的名称、at 符号字符“@”和对象哈希码的无符号十六进制表示形式组成。 换句话说,此方法返回一个等于以下值的字符串:

 getClass().getName() + '@' + Integer.toHexString(hashCode()) 

覆盖:

类 Object 中的 toString

返回:

对象的字符串表示形式。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/156294.html<

(0)
运维的头像运维
上一篇2025-03-15 20:31
下一篇 2025-03-15 20:33

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注