Related .NET question

我正在寻找一种快速简单的方法来做完全相反的分裂

迭代数组需要添加条件(如果这不是最后一个元素,则添加分隔符)或使用子字符串删除最后一个分隔符.

我相信有一种经过认证的、高效的方法可以做到这一点(Apache Commons?)

在你的项目中,你更喜欢怎么做?

推荐答案

使用Java8,您可以以一种非常干净的方式做到这一点:

String.join(delimiter, elements);

这有三种工作方式:

1) 直接指定元素

String joined1 = String.join(",", "a", "b", "c");

2)使用数组

String[] array = new String[] { "a", "b", "c" };
String joined2 = String.join(",", array);

3) 使用iterables

List<String> list = Arrays.asList(array);
String joined3 = String.join(",", list);

Java相关问答推荐

将@ManyToOne JPA Composite Key用作Id保存实体添加额外参数

无法从TemporalAccessor获取Instant:{},ISO解析为2024-04- 25 T14:32:42类型为java.time. form.Parsed

将偶数元素移动到数组的前面,同时保持相对顺序

Java中不同包中的类之间的配置共享

RxJava PublishSubject缓冲区元素超时

JavaFX Maven Assembly插件一直打包到错误的JDK版本

只需最少的代码更改即可将版本号标记添加到日志(log)

Spark上下文在向Spark提交数据集时具有内容,但Spark在实际构建它时发现它为空

JavaFX如何在MeshView中修复多个立方体?

如何从错误通道回复网关,使其不会挂起

测试容器无法加载类路径初始化脚本

MimeMessage emlMessage=new MimeMessage(Session,emlInputStream);抛出InvocationTargetException

在Java中将int[]矩阵添加到ArrayList中,但出现错误

JNI:将代码打包成自包含的二进制文件

Cordova Android Gradle内部版本组件不兼容

如何在@CsvSource中传递空格作为值

在实例化中指定泛型类型与不指定泛型类型之间的区别

持续时间--为什么在秒为负数的情况下还要做额外的工作?

由于版本不匹配,从Java 8迁移到Java 17和Spring 6 JUnit4失败

带有提取器的JavaFXObservableList会根据侦听器的存在而改变行为