* StringUtils.join()方法使用

打印输出:
* 使用 StringBuilder 进行拼接:张三,李四,王五
* 使用 StringUtils.join 进行拼接:张三,李四,王五
* 张三,李四,王五
* 张三&李四&王五
* 张三和李四和王五
* 手机 耳机 电脑

package com.example.core.mydemo.string;

import org.apache.commons.lang3.StringUtils;

import java.util.ArrayList;
import java.util.List; /**
* StringUtils.join()方法使用
* 使用 StringBuilder 进行拼接:张三,李四,王五
* 使用 StringUtils.join 进行拼接:张三,李四,王五
* 张三,李四,王五
* 张三&李四&王五
* 张三和李四和王五
* 手机 耳机 电脑
*/
public class StringUtilsJoinTest {
public static void main(String[] args) {
List<String> names = new ArrayList<>();
names.add("张三");
names.add("李四");
names.add("王五"); // 使用 StringBuilder 进行拼接
StringBuilder stringBuilder = new StringBuilder();
names.forEach(name -> {
stringBuilder.append(name).append(",");
});
// 拼接完成后还需要将最后一个逗号去掉
String substr = stringBuilder.substring(0, stringBuilder.lastIndexOf(","));
System.out.println("使用 StringBuilder 进行拼接:" + substr); // 使用 StringUtils.join 方法
String join = StringUtils.join(names, ",");
System.out.println("使用 StringUtils.join 进行拼接:" + join); List<String> names2 = new ArrayList<>();
names2.add("张三");
names2.add("李四");
names2.add("王五"); System.out.println(StringUtils.join(names2, ","));
System.out.println(StringUtils.join(names2, "&"));
System.out.println(StringUtils.join(names2, "和")); String[] product = new String[]{"手机", "耳机", "电脑"};
System.out.println(StringUtils.join(product, " "));
}
}

StringUtils.join()方法使用的更多相关文章

  1. apache common包下的StringUtils的join方法

    apache common包下的StringUtils的join方法: 关键字:java string array join public static String join(Iterator it ...

  2. java多线程中关于join方法的使用

    Thread的非静态方法join()让一个线程B"加入"到另外一个线程A的尾部.在A执行完毕之前,B不能工作.例如:         Thread t = new MyThread ...

  3. 【多线程】java多线程 测试例子 详解wait() sleep() notify() start() join()方法 等

    java实现多线程,有两种方法: 1>实现多线程,继承Thread,资源不能共享 2>实现多线程  实现Runnable接口,可以实现资源共享 *wait()方法 在哪个线程中调用 则当前 ...

  4. JAVA join()方法

    转自:http://www.open-open.com/lib/view/open1371741636171.html 一.为什么要用join()方法 在很多情况下,主线程生成并起动了子线程,如果子线 ...

  5. Thread.join()方法

    thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程.比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B.t.join() ...

  6. join()方法

    1.现在有T1.T2.T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行? package com.mianshi.easy; class JoinDemo implements ...

  7. python thread的join方法解释

    python的Thread类中提供了join()方法,使得一个线程可以等待另一个线程执行结束后再继续运行.这个方法还可以设定一个timeout参数,避免无休止的等待.因为两个线程顺序完成,看起来象一个 ...

  8. Java Thread.join()方法

    一.使用方式. join是Thread类的一个方法,启动线程后直接调用,例如: Thread t = new AThread(); t.start(); t.join(); 二.为什么要用join() ...

  9. Java线程中yield与join方法的区别

    长期以来,多线程问题颇为受到面试官的青睐.虽然我个人认为我们当中很少有人能真正获得机会开发复杂的多线程应用(在过去的七年中,我得到了一个机会),但是理解多线程对增加你的信心很有用.之前,我讨论了一个w ...

  10. 简谈Java的join()方法

    join()是Thread类的一个方法.根据jdk文档的定义: public final void join()throws InterruptedException: Waits for this ...

随机推荐

  1. 阿里云田涛涛:高效智能的云,CloudOps让运维更简单

    ​简介:CloudOps:以应用为中心的自动化运维新趋势 12月21日,在阿里云弹性计算年度峰会上,阿里云弹性计算体验与控制系统负责人田涛涛发表了主题为<高效智能的云,CloudOps让运维更简 ...

  2. 庖丁解InnoDB之UNDO LOG

    ​简介: Undo Log是InnoDB十分重要的组成部分,它的作用横贯InnoDB中两个最主要的部分,并发控制(Concurrency Control)和故障恢复(Crash Recovery),I ...

  3. [DApp] ethers.js VS Moralis

    ether.js 是 Web3 封装的 js 库,特别适合以太坊平台. Moralis 不仅是 Web3 的封装,还是一体化解决方案,包括服务端部署方案和适配各种链,使用范围更广. 在选择上,主要还是 ...

  4. [FE] jsoneditor 在 vue-router 和 vue-ssr 渲染下出现两个实例的问题

    由于 vue-router 页面是无刷新的,如果存在两次渲染,会出现如下情形. 简单粗暴的解决办法是通过判断容器中是否已经有了子节点. 此时再从其他 router link 返回就不会重复渲染了. M ...

  5. [ELK] 生产环境中 Elasticsearch 的重要配置项

    配置 Elasticsearch https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html 重要的 E ...

  6. dotnet SemanticKernel 入门 将技能导入框架

    在上一篇博客中和大家简单介绍了 SemanticKernel 里的技能概念,接下来咱准备将 技能 导入到 SemanticKernel 框架里面,进行一个管道式调用 本文属于 SemanticKern ...

  7. 13.prometheus监控tengine(无用)

    一.环境准备 1.1 docker安装tengine带nginx-module-vts模块(二选一) mkdir /data/ -p cd /data/ # 通过git clone下载已经创建好的do ...

  8. WPF-dataGrid动态更新

    简介: 问题:在WPF中,使用了ObservableCollection<T>作为dataGrid的数据源,发现更新数据的时候不会触发dataGrid的更新 By MaQaQ 2023-1 ...

  9. ansible系列(27)--ansible的include任务复用

    目录 1. include任务复用 1.1 多个项目调用相同task 1.2 Inlcude结合tags应用 1. include任务复用 有时,我们发现大量的 Playbook 内容需要重复编写,各 ...

  10. 回顾复习x学习笔记

    从头回顾(截至搜索) #define fo(x,y,z) for(int (x)=(y);(x)<=(z);(x)++) #define foo(x,y,z) for(int (x)=(y);( ...