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)

      • 简介
      • MapUtil
      • MapBuilder
      • MapJoiner
        • 功能介绍
        • 主要特性
        • 适用场景
        • 使用示例
          • 示例1:基本用法
          • 示例2:处理空值
          • 示例3:排序输出
          • 示例4:URL查询字符串
        • 注意事项
        • 方法列表
      • MapGetUtil
      • CaseInsensitiveMap
      • CamelCaseMap
      • BiMap
      • FixedLinkedHashMap
      • ForestMap
      • Dict
      • MultiValueMap
      • ListValueMap
      • SetValueMap
      • Table
      • SoftConcurrentMap
      • WeakConcurrentMap
      • WeakKeyConcurrentMap
      • ConcurrentLinkedHashMap
    • 数字数学(math)

    • 网络(net)

    • 对象池(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)
  • Map(map)
Hutool
2026-01-19
目录

MapJoiner

# 功能介绍

MapJoiner是Hutool中用于将Map转换为字符串的工具类,提供了灵活的配置选项来控制字符串的格式。它支持自定义键值对分隔符、键值分隔符,以及对空值的处理方式。

# 主要特性

  • 支持自定义键值对分隔符(如&、,等)
  • 支持自定义键值分隔符(如=、:等)
  • 支持处理空值(忽略或替换)
  • 支持对键值进行转义
  • 支持排序输出
  • 支持链式调用

# 适用场景

  1. 需要将Map转换为URL查询字符串
  2. 需要将Map转换为配置文件格式
  3. 需要将Map转换为自定义格式的字符串
  4. 需要灵活控制Map转换为字符串的格式

# 使用示例

# 示例1:基本用法

// 创建Map
Map<String, Object> map = MapUtil.of(
    "name", "hutool",
    "version", "7.0.0",
    "author", "looly"
);

// 使用默认分隔符(键值对用&,键值用=)
String result1 = MapJoiner.of().join(map);
// 输出: name=hutool&version=7.0.0&author=looly

// 自定义分隔符
String result2 = MapJoiner.of(", ", "=")
    .join(map);
// 输出: name=hutool, version=7.0.0, author=looly

# 示例2:处理空值

// 创建包含空值的Map
Map<String, Object> map = MapUtil.of(
    "name", "hutool",
    "version", null,
    "author", "looly"
);

// 默认忽略空值
String result1 = MapJoiner.of().join(map);
// 输出: name=hutool&author=looly

// 保留空值(使用空字符串)
String result2 = MapJoiner.of()
    .useForNull("")
    .join(map);
// 输出: name=hutool&version=&author=looly

// 使用特定字符串替换空值
String result3 = MapJoiner.of()
    .useForNull("unknown")
    .join(map);
// 输出: name=hutool&version=unknown&author=looly

# 示例3:排序输出

// 创建无序的Map
Map<String, Object> map = MapUtil.of(
    "b", 2,
    "a", 1,
    "c", 3
);

// 排序输出
String result = MapJoiner.of()
    .withSortedKeys()
    .join(map);
// 输出: a=1&b=2&c=3(按键排序)

# 示例4:URL查询字符串

// 创建查询参数Map
Map<String, Object> params = MapUtil.of(
    "name", "hutool",
    "version", "7.0.0",
    "keywords", "java,tool,util"
);

// 生成URL查询字符串
String queryString = MapJoiner.of("&", "=")
    .join(params);
// 输出: name=hutool&version=7.0.0&keywords=java,tool,util

// 结合URL使用
String url = "https://hutool.cn/api?" + queryString;
// 输出: https://hutool.cn/api?name=hutool&version=7.0.0&keywords=java,tool,util

# 注意事项

  1. MapJoiner是线程安全的,可以在多线程环境下使用
  2. 默认情况下,MapJoiner会忽略null值
  3. 当使用withSortedKeys()时,输出的字符串会按键的自然顺序排序
  4. 对于特殊字符,建议使用URLEncoder进行转义后再使用MapJoiner

# 方法列表

方法名 描述 参数 返回值
of() 创建默认的MapJoiner(键值对分隔符&,键值分隔符=) 无 MapJoiner
of(String entrySeparator, String keyValueSeparator) 创建自定义分隔符的MapJoiner entrySeparator: 键值对分隔符, keyValueSeparator: 键值分隔符 MapJoiner
useForNull(String nullText) 设置空值替换文本 nullText: 空值替换文本 MapJoiner
withSortedKeys() 设置按键排序输出 无 MapJoiner
join(Map<?, ?> map) 将Map转换为字符串 map: 要转换的Map String
join(Map<?, ?> map, String defaultValue) 将Map转换为字符串,空Map使用默认值 map: 要转换的Map, defaultValue: 空Map默认值 String
MapBuilder
MapGetUtil

← MapBuilder MapGetUtil→

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