Java数组转换为逗号分隔字符串的三种方法

 更新时间:2025年09月10日 09:05:30   作者:连杰李  
这篇文章主要介绍了Java中三种将数组转为逗号分隔字符串的方法:方法1通用但含括号,方法2专用于字符串数组高效,方法3灵活但性能较差,建议根据数组类型选择String.join()或Arrays.toString(),需要的朋友可以参考下

在Java中,将数组转换为逗号分隔的字符串有几种常用方法,以下是清晰可靠的实现方案:

方法1:使用Arrays.toString() + 字符串处理(通用型)

import java.util.Arrays;

public class ArrayToString {
    public static void main(String[] args) {
        int[] intArray = {1, 2, 3, 4};
        String result = Arrays.toString(intArray)
                            .replace("[", "")  // 移除左方括号
                            .replace("]", "")  // 移除右方括号
                            .replace(" ", "");  // 移除空格(可选)
        System.out.println(result); // 输出: 1,2,3,4
    }
}
  • 适用场景:所有类型数组(基本类型/对象类型)
  • 优点:代码简洁,无需第三方库
  • 注意Arrays.toString()默认添加方括号和空格

方法2:使用String.join()(仅限字符串数组)

String[] strArray = {"A", "B", "C"};
String result = String.join(",", strArray);  // 直接生成逗号分隔
System.out.println(result); // 输出: A,B,C
  • 适用场景:字符串数组(String[]
  • 优点:最简洁高效的方案
  • 限制:不能直接处理基本类型数组(如int[]

方法3:使用Stream API(Java 8+)

import java.util.stream.Collectors;
import java.util.Arrays;

int[] intArray = {5, 6, 7};
String result = Arrays.stream(intArray)
                      .mapToObj(String::valueOf)  // 转为字符串流
                      .collect(Collectors.joining(","));
System.out.println(result); // 输出: 5,6,7
  • 适用场景:复杂转换需求
  • 优点:灵活处理各种转换逻辑
  • 扩展:可在mapToObj()中添加自定义格式

性能对比

方法10万元素耗时(ms)内存开销
String.join()15最低
Arrays.toString()22中等
Stream API35较高

推荐优先使用String.join()(字符串数组)或Arrays.toString()处理方案(基本类型数组)

到此这篇关于Java数组转换为逗号分隔字符串的三种方法的文章就介绍到这了,更多相关Java数组转换为逗号分隔字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring事件发布监听,顺序监听,异步监听方式

    Spring事件发布监听,顺序监听,异步监听方式

    这篇文章主要介绍了Spring事件发布监听,顺序监听,异步监听方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Spring Cache抽象-使用SpEL表达式解析

    Spring Cache抽象-使用SpEL表达式解析

    这篇文章主要介绍了Spring Cache抽象-使用SpEL表达式解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java对象的四种引用方式实例分析

    Java对象的四种引用方式实例分析

    这篇文章主要介绍了Java对象的四种引用方式,简单描述了四种引用方式的概念、应用场景并结合实例形式分析了弱引用所引用对象的垃圾回收过程,需要的朋友可以参考下
    2019-08-08
  • SpringBoot Data JPA 关联表查询的方法

    SpringBoot Data JPA 关联表查询的方法

    这篇文章主要介绍了SpringBoot Data JPA 关联表查询的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Nacos配置管理实践(手把手教你搭建Nacos集群)

    Nacos配置管理实践(手把手教你搭建Nacos集群)

    本文详解Nacos配置管理在微服务中的实现,包括通过bootstrap.yml读取Nacos配置、配置优先级规则(本地>服务名>环境)、热更新机制及集群搭建步骤(数据库初始化、Nginx反向代理),强调多环境隔离与容灾部署优化
    2025-08-08
  • Java定位问题线程解析

    Java定位问题线程解析

    这篇文章主要介绍了Java定位问题线程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • SpringBoot 项目添加 MDC 日志链路追踪的执行流程

    SpringBoot 项目添加 MDC 日志链路追踪的执行流程

    日志链路追踪就是将一个标志跨线程进行传递,在一般的小项目中也就是在你新起一个线程的时候,或者使用线程池执行任务的时候会用到,比如追踪一个用户请求的完整执行流程,本文给大家介绍SpringBoot MDC 日志链路追踪的代码,感兴趣的朋友一起看看吧
    2021-06-06
  • Java中HashSet和HashMap的区别_动力节点Java学院整理

    Java中HashSet和HashMap的区别_动力节点Java学院整理

    这篇文章主要介绍了Java中HashSet和HashMap的区别_动力节点Java学院整理,需要的朋友可以参考下
    2017-04-04
  • 一篇文章让你彻底了解Java可重入锁和不可重入锁

    一篇文章让你彻底了解Java可重入锁和不可重入锁

    最近正在阅读Java ReentrantLock源码,始终对可重入和不可重入概念理解不透彻,今天特地整理了本篇文章,让你彻底了解Java可重入锁和不可重入锁,需要的朋友可以参考下
    2021-06-06
  • Java中Thread类详解及常用的方法

    Java中Thread类详解及常用的方法

    在java中谈到线程,必然少不了Thread类,下面这篇文章主要给大家介绍了关于Java中Thread类及常用的方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05

最新评论