Java StringJoiner

Java added a new final class StringJoiner in java.util package. It is used to construct a sequence of characters separated by a delimiter. Now, you can create string by passing delimiters like comma(,), hyphen(-) etc. You can also pass prefix and suffix to the char sequence.

import java.util.StringJoiner;

public class StringJoinerExample {
public static void main(String[] args) {
// passing comma(,) as delimiter
StringJoiner joinNames = new StringJoiner(",");
// Adding values to StringJoiner
joinNames.add("Rahul");
joinNames.add("Raju");
joinNames.add("Peter");
joinNames.add("Raheem");
System.out.println(joinNames); // passing comma(,) and square-brackets as delimiter
StringJoiner joinNames2 = new StringJoiner(",", "[", "]");
// Adding values to StringJoiner
joinNames2.add("Rahul");
joinNames2.add("Raju");
joinNames2.add("Peter");
joinNames2.add("Raheem");
System.out.println(joinNames2); StringJoiner joinNames3 = new StringJoiner(",", "[", "]");
joinNames3.add("Rahul");
joinNames3.add("Raju"); StringJoiner joinNames4 = new StringJoiner(":", "[", "]");
joinNames4.add("Peter");
joinNames4.add("Raheem"); // Merging two StringJoiner
StringJoiner merge = joinNames3.merge(joinNames4);
System.out.println(merge);
}
}

点击查看结果

```
Rahul,Raju,Peter,Raheem
[Rahul,Raju,Peter,Raheem]
[Rahul,Raju,Peter:Raheem]
```
import java.util.StringJoiner;

public class StringJoinerMethodExample {
public static void main(String[] args) {
StringJoiner joinNames = new StringJoiner(","); // Prints nothing because it is empty
System.out.println(joinNames); // We can set default empty value.
joinNames.setEmptyValue("It is empty");
System.out.println(joinNames); // Adding values to StringJoiner
joinNames.add("Rahul");
joinNames.add("Raju");
System.out.println(joinNames); // Returns length of StringJoiner
int length = joinNames.length();
System.out.println("Length: " + length); // Returns StringJoiner as String type
String str = joinNames.toString();
System.out.println(str); // Now, we can apply String methods on it
char ch = str.charAt(3);
System.out.println("Character at index 3: " + ch); // Adding one more element
joinNames.add("Sorabh");
System.out.println(joinNames); // Returns length
int newLength = joinNames.length();
System.out.println("New Length: " + newLength);
}
}

点击查看结果

```

It is empty

Rahul,Raju

Length: 10

Rahul,Raju

Character at index 3: u

Rahul,Raju,Sorabh

New Length: 17

</div>

**参考资料**
* [https://www.javatpoint.com/java-stringjoiner](https://www.javatpoint.com/java-stringjoiner)

Java StringJoiner的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. Java 8 – StringJoiner example

    In this article, we will show you a few StringJoiner examples to join String. 1. StringJoiner1.1 Joi ...

  3. Java 8中字符串拼接新姿势:StringJoiner

    介绍 StringJoiner是java.util包中的一个类,用于构造一个由分隔符分隔的字符序列(可选),并且可以从提供的前缀开始并以提供的后缀结尾.虽然这也可以在StringBuilder类的帮助 ...

  4. 20145212 《Java程序设计》第8周学习总结

    20145212 <Java程序设计>第8周学习总结 教材学习内容总结 第十四章 NIO与NIO2 认识NIO NIO使用频道(Channel)来衔接数据节点,在处理数据时,NIO可以让你 ...

  5. 20145206邹京儒《Java程序设计》第8周学习总结

    20145206 <Java程序设计>第8周学习总结 教材学习内容总结 第十四章 NIO与NIO2 14.1 认识NIO NIO使用频道(Channel)来衔接数据节点,在处理数据时,NI ...

  6. 20145308刘昊阳 《Java程序设计》第8周学习总结

    20145308刘昊阳 <Java程序设计>第8周学习总结 教材学习内容总结 第15章 通用API 15.1 日志 15.1.1 日志API简介 java.util.loggging包提供 ...

  7. 20145334赵文豪 《Java程序设计》第8周学习总结

    20145334赵文豪 <Java程序设计>第8周学习总结 教材学习内容总结 转眼间Java学习已经到了第八周,第十五章,需要我们学会使用日志API.了解国际化基础.认识JDK8增强功能等 ...

  8. 20145225《Java程序设计》 第8周学习总结

    20145225<Java程序设计> 第八周学习总结 教材学习内容总结 第十五章 通用API 15.1日志 日志API:使用日志的起点是Logger类,要取得Logger类,必须使用Log ...

  9. 20145222黄亚奇《Java程序设计》第8周学习总结

    教材学习内容总结 第15章 通用API 1 日志 1 日志API简介 java.util.loggging包提供了日志功能相关类与接口. 使用日志的起点是Logger类,Logger类的构造函数表示为 ...

随机推荐

  1. golang设置代理

    http://note.youdao.com/noteshare?id=a8df0ec2d623f282a782dbe937bdae9f

  2. Eclipse 导入Hadoop 2.6.0 源码

    1. 首先前往 官网(Hadoop 2.6 下载地址)上下载Hadoop的源码文件,并解压 2. 事先请确定已经安装好jdk以及maven(Maven安装教程 这是其他人写的一篇博文,保存profil ...

  3. 779D. String Game 二分 水

    Link 题意: 给出两字符串$a$,$b$及一个序列,要求从前往后按照序列删掉$a$上的字符,问最少删多少使$b$串不为a的子串 思路: 限制低,直接二分答案,即二分序列位置,不断check即可. ...

  4. java绝对路径和相对路径的理解

    日常开发中引用东西经常会遇到路径问题,各种尝试,各种出错,其实只要理解了这两种路径,问题便迎刃而解. 在java中路径有两种表示方法:绝对路径和相对路径. (1) 相对路径:它以不带“\”的目录名表示 ...

  5. js javascript变量提升

    var:变量提升(无论声明在何处,都会被提至其所在作用域的顶部) let:无变量提升(所在的块内,未到let声明时(即let声明之前),是无法访问该变量的(not defined)),let变量不能重 ...

  6. [Mac]一些命令技巧

    Git相关 mac下git默认不区分大小写,通过下面脚本可以改变 #!/bin/bash # 让git区分大小写 cd 'path-of-project' git config core.ignore ...

  7. Lua的各种资源1

    Libraries And Bindings     LuaDirectory > LuaAddons > LibrariesAndBindings This is a list of l ...

  8. Mysql 主主复制失败恢复【转】

    Mysql 主主复制失败 Mysql 主主复制失败 故障描述 架构信息 节点信息 故障分析 同步AIPPRD2的从环境 同步AIPPRD1的从环境 故障描述 原因描述 因为机柜PDU老化, 导致整个机 ...

  9. 做php网站后台开发,在Linux系统上进行更好吗?【转载】

    1. PHP是开源软件,它在bsd/linux/win下都有很好的正式版及孪生版.并非开发php就必须要在linux下进行.主机服务商们习惯性的把asp与php分为两个主机系列几进行销售.由于asp只 ...

  10. Tutorial 2: Requests and Responses

    转载自:http://www.django-rest-framework.org/tutorial/2-requests-and-responses/ Tutorial 2: Requests and ...