InetAddress 类

AI-摘要
LNotes-AI GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
InetAddress 类
Liuxz一、核心作用
InetAddress 是 Java 中用于表示 IP 地址 的类(位于 java.net 包下),封装了 IP 地址的相关信息(如主机名、IP 地址字符串等),提供了操作 IP 地址的常用方法,是网络编程中处理 IP 地址的基础工具。
二、主要特点
- 无构造方法:不能直接通过
new创建对象,需通过类提供的静态方法获取实例。 - 封装 IP 信息:包含主机名(如
www.baidu.com)和 IP 地址(如180.101.50.242),支持 IPv4 和 IPv6 地址。
三、常用静态方法(获取实例)
| 方法 | 功能描述 |
|---|---|
InetAddress.getByName(String host) |
根据主机名(如域名)或 IP 地址字符串,获取对应的 InetAddress 实例。例: InetAddress.getByName("www.baidu.com") 或 getByName("127.0.0.1")。 |
InetAddress.getLocalHost() |
获取本机的 InetAddress 实例(包含本机主机名和 IP 地址)。 |
InetAddress.getAllByName(String host) |
获取指定主机名对应的所有 IP 地址(一个域名可能对应多个 IP),返回 InetAddress[] 数组。 |
四、常用实例方法(获取信息)
| 方法 | 功能描述 |
|---|---|
String getHostAddress() |
返回 IP 地址的字符串形式(如 127.0.0.1)。 |
String getHostName() |
返回主机名(若无法解析,返回 IP 地址字符串)。 |
boolean isLoopbackAddress() |
判断当前 IP 地址是否为 本机回路地址(如 127.0.0.1 或 IPv6 的 ::1)。 |
boolean isReachable(int timeout) |
测试当前 IP 地址对应的主机是否可达(超时时间单位:毫秒),返回 true 表示可达。 |
五、示例代码
java
运行
1 | import java.net.InetAddress; |
六、核心总结
InetAddress 是 Java 网络编程中处理 IP 地址的核心类,通过它可以轻松获取主机的 IP 地址、主机名等信息,是 Socket、DatagramSocket 等套接字类实现网络通信的基础(例如创建 Socket 时需传入目标主机的 InetAddress 和端口号)。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果




