Hutool Hutool
(opens new window)
🏡首页
📖指南
🎢最佳实践
💖支持
💡javaDoc (opens new window)
⏳更新记录 (opens new window)
  • 🍎gitee (opens new window)
  • 🍏github (opens new window)
(opens new window)
🏡首页
📖指南
🎢最佳实践
💖支持
💡javaDoc (opens new window)
⏳更新记录 (opens new window)
  • 🍎gitee (opens new window)
  • 🍏github (opens new window)
  • 快速入门

  • 核心(hutool-core)

    • AI(Hutool-ai)

    • 注解(annotation)

    • 数组(array)

    • JavaBean(bean)

    • 缓存(cache)

    • 类加载器(classloader)

    • 编码解码(codec)

    • 集合(collection)

    • 比较器(comparator)

    • 压缩(compress)

    • 类型转换(convert)

    • 数据(data)

    • 日期时间(date)

    • 异常(exception)

    • 函数(func)

    • IO流(io)

    • 语言特性(lang)

    • Map(map)

    • 数字数学(math)

    • 网络(net)

      • 网络
      • NetUtil
      • Ipv4Util
      • Ipv6Util
      • MacAddressUtil
        • 主要功能
        • 方法示例
          • 示例1:验证MAC地址
          • 示例2:格式化MAC地址
          • 示例3:获取本地MAC地址
          • 示例4:将MAC地址转换为字节数组
          • 示例5:从字节数组转换为MAC地址
          • 示例6:比较MAC地址
          • 示例7:生成随机MAC地址
        • 注意事项
      • KeyManagerUtil
      • SSL上下文工具-SSLContextUtil
      • 信任管理器工具-TrustManagerUtil
      • URL构建器-UrlBuilder
      • URL协议工具-UrlProtocolUtil
      • URL查询工具-UrlQueryUtil
      • URL工具-UrlUtil
    • 对象池(pool)

    • 反射(reflect)

    • 正则(regex)

    • 服务提供(spi)

    • 聚合操作(stream)

    • 字符串文本(text)

    • 并发和线程(thread)

    • 树结构(tree)

    • 工具集合(util)

    • XML操作(xml)

  • 定时任务(hutool-cron)

  • 加密(hutool-crypto)

  • 数据库(hutool-db)

  • 扩展(hutool-extra)

  • HTTP(hutool-http)

  • 日志(hutool-log)

  • 配置文件(hutool-setting)

  • JSON(hutool-json)

  • Office办公(hutool-poi)

  • 套接字(hutool-socket)

  • GUI(hutool-swing)

  • 指南
  • 核心(hutool-core)
  • 网络(net)
Hutool
2026-01-23
目录

MacAddressUtil

MacAddressUtil是Hutool中用于处理MAC地址的工具类,提供了丰富的MAC地址操作功能,包括验证、转换、格式化等。

# 主要功能

  • MAC地址验证:验证MAC地址是否合法
  • MAC地址格式化:格式化MAC地址为标准格式
  • MAC地址转换:在不同格式之间转换
  • MAC地址生成:生成MAC地址
  • MAC地址比较:比较MAC地址
  • 本地MAC地址获取:获取本地网卡MAC地址
  • MAC地址解析:解析MAC地址组成部分

# 方法示例

# 示例1:验证MAC地址

验证MAC地址是否合法。

boolean isValid = MacAddressUtil.isValid("00:1B:44:11:3A:B7");
// 输出: true

boolean isValid2 = MacAddressUtil.isValid("invalid-mac-address");
// 输出: false

# 示例2:格式化MAC地址

将MAC地址格式化为标准格式(冒号分隔,大写)。

String formatted = MacAddressUtil.format("001b44113ab7");
// 输出: 00:1B:44:11:3A:B7

# 示例3:获取本地MAC地址

获取本地所有网卡的MAC地址。

List<String> macList = MacAddressUtil.getLocalMacAddresses();
// 输出: 本地所有网卡的MAC地址列表

String firstMac = MacAddressUtil.getFirstLocalMacAddress();
// 输出: 第一个网卡的MAC地址

# 示例4:将MAC地址转换为字节数组

将MAC地址字符串转换为字节数组。

byte[] bytes = MacAddressUtil.toBytes("00:1B:44:11:3A:B7");
// 输出: 长度为6的字节数组

# 示例5:从字节数组转换为MAC地址

将字节数组转换为MAC地址字符串。

byte[] bytes = {(byte)0x00, (byte)0x1B, (byte)0x44, (byte)0x11, (byte)0x3A, (byte)0xB7};
String mac = MacAddressUtil.toString(bytes);
// 输出: 00:1B:44:11:3A:B7

# 示例6:比较MAC地址

比较两个MAC地址是否相等。

boolean equals = MacAddressUtil.equals("00:1B:44:11:3A:B7", "00-1B-44-11-3A-B7");
// 输出: true

# 示例7:生成随机MAC地址

生成一个随机的MAC地址。

String randomMac = MacAddressUtil.randomMac();
// 输出: 随机生成的MAC地址,如: 02:1A:3B:4C:5D:6E

# 注意事项

  1. MAC地址通常表示为6组16进制数,每组2位,常见分隔符包括冒号(😃、连字符(-)或无分隔符
  2. 有效的MAC地址长度为12个16进制字符(不包括分隔符)
  3. 本地MAC地址获取可能需要管理员权限,某些系统可能无法获取
  4. MAC地址的第一个字节的最低位表示是否为多播地址,第二位表示是否为本地管理地址
  5. MacAddressUtil提供的方法都是线程安全的,可以在多线程环境下使用
  6. 在比较MAC地址时,会自动忽略分隔符和大小写差异
  7. 生成的随机MAC地址会确保是本地管理地址(第二个字节最低位为1)
Ipv6Util
KeyManagerUtil

← Ipv6Util KeyManagerUtil→

Theme by Vdoing | Copyright © 2025-2026 Hutool | Apache-2.0
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式