Java字符串拼接新方法 StringJoiner

Java中如何输出像1-2-3-4-5 这样的字符

抱歉对于这个问题我甚至不能想到一个合适的标题,但是不重要 以下操作基于 jdk 1.8

StringJoiner sj = new StringJoiner("-", "", "");
        sj.add("1").add("1").add("2");
        String desiredString = sj.toString();

在1.8版本中新加了 一个’StringJoiner‘ 方法

StringJoiner是java.util包中的一个类,用于构造一个由分隔符分隔的字符序列(可选),并且可以从提供的前缀开始并以提供的后缀结尾。

虽然这也可以在StringBuilder类的帮助下在每个字符串之后附加分隔符,但StringJoiner提供了简单的方法来实现,而无需编写大量代码

关于StringJoiner的详细介绍大家可以去看看这位仁兄的博客 写的很好这里我就不过多阐述了

https://www.hollischuang.com/archives/3283

原文地址:https://www.cnblogs.com/hwcs/p/11465141.html

时间: 2024-11-05 13:36:08

Java字符串拼接新方法 StringJoiner的相关文章

羞,Java 字符串拼接竟然有这么多姿势

二哥,我今年大二,看你分享的<阿里巴巴 Java 开发手册>上有一段内容说:"循环体内,拼接字符串最好使用 StringBuilder 的 append 方法,而不是 + 号操作符."到底为什么啊,我平常一直就用的'+'号操作符啊!二哥有空的时候能否写一篇文章分析一下呢? 就在昨天,一位叫小菜的读者微信我说了上面这段话. 我当时看到这条微信的第一感觉是:小菜你也太菜了吧,这都不知道为啥啊!我估计正在读这篇文章的你也会有同样的感觉. 但扪心自问,在我做程序员的前两年内,我也不

一个小错误引发思考最终得出数组转字符串的新方法

今天在项目中犯了一个算得上是低级错误的错误吧 我在构造函数里声明了一个angle变量, this.angle; 然后在后面某函数中对此变量进行了+=操作, this.angle+=90 最后在一系列逻辑后我发现this.angle报错 NaN,马上定位到构造函数,就发现了原来该变量声明了但并未初始化赋值 求不笑,偶尔也是会傻乎乎犯些这种低级错误的,而这一次暴露出来完全是因为我在后面使用了+=操作,如果后面是单纯的 = 赋值操作,这样构造函数里是可以不初始化的 这时,我突然想试试如果+=后面不是数

Java字符串简单使用方法

Java字符串类型为String类,以下介绍怎样操作字符串. 1.字符串连接 字符串连接使用"+"符号.例如以下样例: String s = new String("Hello"); String s2 = new String("World"); System.out.println(s + " " + s2); // Hello World 2.获取字符串长度 获取字符串长度使用str.length().例如以下样例: S

java String拼接的方法选择及性能分析

String 拼接的方法选择 在拼接静态字符串时,尽量用 +,因为通常编译器会对此做优化,如: String test = "this " + "is " + "a " + "test " + "string" 编译器会把它视为: String test = "this is a test string" 在拼接动态字符串时,尽量用 StringBuffer 或 StringBuilde

java 字符串拼接的单元测试

整体内容介绍 本文分为几个部分: * String.StringBuffer.StringBuilder的对比 * 字符串拼接方式的对比 使用到的内容: * Junit4单元测试 * slf4j的日志框架 String.StringBuffer.StringBuilder的对比 对于这三者使用的场景做如下概括(参考:<编写搞质量代码:改善java程序的151个建议>): String:在字符串不经常变化的场景中可以使用String类,如:常量的声明.少量的变量运算等. StringBuffer

java字符串拼接技巧(StringBuilder使用技巧)

在平时的开发中,我们可能会遇到需要拼接如下格式的字符串(至少我是遇到了很多次): 1,2,3,4,5,6,7,8,9,10,11,12,12,12,12,34,234,2134,1234,1324,1234,123 这个字符串的特点:多个数据之间通过某一个特殊符号分割. 以前我都是这样想的,我相信很多的people也是这样想的: public class StringTest { public static void main(String[] args) { StringBuilder sb

java字符串替换repalce方法实现

////将一个字符串中的空格替换为另外一个字符串 函数主体如下 1 ////替换空格 2 private static char[] replaceTrim(char[] str1,char[] tidai) { 3 // TODO 自动生成的方法存根 4 int count=0; 5 for (int i = 0; i < str1.length; i++) { 6 if (str1[i]==' ') { 7 count++; 8 } 9 } 10 ///传入替代的符号的长度-空格的长度就是新

java字符串拼接的几种方式

1. + 方式 String str1="hello"; String str2="world"; String str=str1+str2; 2. concat方式 当两个量都为String类型且值不为null时,可以用concat方式 String a="a"; String b="b"; String c= a.concat(b); 理论上,此时拼接效率应该最高,因为已经假定两个量都为字符串,做底层优化不需要额外判断或转

C#三种字符串拼接方法的效率对比

C#字符串拼接的方法常用的有:StringBuilder.+.string.Format.List<string>.使用情况不同,效率不同. 1.+的方式 string sql = "update tableName set int1=" + int1.ToString() + ",int2=" + int2.ToString() + ",int3=" + int3.ToString() + " where id="