相关文章推荐
爱笑的汉堡包  ·  IDEA SpringBoot ...·  1 周前    · 
纯真的熊猫  ·  什么时候 MySQL ...·  1 年前    · 

比如有一个数组是 String[] array = [ 'a', 'b', 'c' ],我希望把该数组中每个元素直接用 ' - ' 来拼接,得到 ”a-b-c",那么应该如何实现呢?

最传统的办法就是:

String result = array.get(0);
for(int i = 1; i < array.size(); i++) {
    result = result + "-" + item;

但是这个方法明显太繁琐,而且还需要判定各种异常情况,比如:如果数组size = 0,那么上面第一句话就会报错。

下面介绍两种方法,只需要一行就能实现字符串拼接操作,简便而且无需考虑很多情况。

1. 使用 org.apache.commons.lang.StringUtils 中的 join 函数。

StringUtils.join(array, "-")

2. 使用 Google Guava 中的 com.google.common.base.Joiner 类。

Joiner.on('-').join(array); 

join() 括号中的参数既可以传入 Iterable<?>,又可以传入 @Nullable Object first, @Nullable Object second, Object... rest 。

Guava 对空指针有着严格的限制,如果传入的对象中包含空指针,Joiner 会直接抛出 NullPointer Exception。与此同时,Joiner 提供了两个方法,让我们能够优雅的处理待拼接集合中的空指针。

如果我们希望忽略空指针,那么可以调用 skipNulls 方法,得到一个会跳过空指针的 Joiner 实例。如果希望将空指针变为某个指定的值,那么可以调用 useForNull 方法,指定用来替换空指针的字符串。

Joiner.on(' ').skipNulls().join(1, null, 3); //1 3
Joiner.on(' ').useForNull("None").join(1, null, 3); //1 None 3

需要注意的是,Joiner 实例是不可变的,skipNulls 和 useForNull 都不是在原实例上修改某个成员变量,而是生成一个新的 Joiner 实例。

比如有一个数组是 String[] array = [ 'a', 'b', 'c' ],我希望把该数组中每个元素直接用 ' - ' 来拼接,得到 ”a-b-c&quot;,那么应该如何实现呢?最传统的办法就是:String result = array.get(0);for(int i = 1; i &amp;lt; array.size(); i++) { result = result + ...
1. 使用 org.apache.commons.lang.StringUtils 中的join 函数。 StringUtils.join(array, "-") 2. 使用 Google Guava 中的 com.google.common.base.Joiner 类。 Joiner.on('-').join(array); <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Do.
数组拼接字符串,在JavaScript中,有两种方式。一种是Array对象提供的join()方法,另一种是Array对象提供的toString()方法。下面分别来介绍: join() 定义和用法: join() 方法用于把数组中的所有元素放入一个字符串。 元素是通过指定的分隔符进行分隔的。 用法:把数组中的所有元素放入一个字符串,默认以逗号分隔 var arr = ['sun', 'moon', 'start'] console.log(arr.join()) // 'sun, moon, start'
元素是通过指定的分隔符进行分隔的。 用法:把数组中的所有元素放入一个字符串,默认以逗号分隔 let arr = ['xiaoyu', 'love', 'nega'] console.log(arr.join('-')) // 'xiaoyu-love-nega' 2. toString( let arr = ['xiaoyu', 'love', 'nega'] console.log( 1. 前言 Java 提供了拼接 String 字符串的多种方式,不过有时候如果我们不注意 null 字符串的话,可能会把 null 拼接到结果当中,很明显这不是我们想要的。 在这篇文章中,将介绍一些在拼接 String 时避免 null 值的几种方式。 2. 问题复现 如果我们想要拼接 String 数组,可以简单的使用 + 运算符进行拼接,但是可能会..
List<String> ids = ImmutableList.of("1", "2", "3"); //直接用String.join System.out.println(String.join(",", ids)); //使用 org.apache.commons.lang.StringUtils System.out.println(StringUtils.join(array, ",")); //使用 Google Guava 中的 com.google.common.base.
let arr1 = ['张三','李四','王五','李四','赵六','张三']; let arr2 = Array.from(new Set(arr1)); console.log(arr2) 输出结果: ['张三', '李四', '王五', '赵六'] 2. 字符串分割数组 str_name.split("分割条件","分割次数/默认全部") let str1 = "张三,李四,王五,李
字符串的连接最好使用数组,把每个子串放入数组元素,再执行join()连接起来,其效率比+=有明显的提高。 因此,可以由此原理写一个简单的 StringBuffer 类,在遇到大字符串连接时可以派上用场。 //by misshjn function StringBuffer(){    this.data = []; } StringBuffer.prototype.append = function(){    this.data.push(arguments[0]);    return this; } StringBuffer.prototype.toString = function(
目录前言String字符串和char字符的区别拓展相互转换String字符串转换char字符数组char字符转换String字符串char字符数组转换String字符串String类和StringBuffer类之间的转换拼接String字符串之间的拼接String字符串和char字符之间的拼接String字符串、char字符以及char字符数组之间的拼接在指定位置插入在String字符串的指定位置插入String字符串(或char字符或char字符数组)在char字符数组的指定位置插入char字符数组(或char字符或String字符串)增加或减少长度增加或减少char字符数组的长度增加
String类原生的字符串处理方法 short s=1;s=s+1;与short s=1;s+=1;的区别“+” 操作符是字符串拼接最常用的方法之一。编译的时候会把 “+” 操作符替换了 StringBuilder 的 append 方法。StringBuilder 的 append 方法就是第二个常用的字符串拼接方法。源码如下: 这 3 行代码比较简单,看下父类 AbstractStringBuilder 的 append 方法: ①判断拼接字符串是不是 null,如果是,当做字符串“null”来处理
int[] arr = {1, 2, 3, 4, 5}; StringBuilder sb = new StringBuilder(); for (int i = 0; i < arr.length; i++) { sb.append(arr[i]); if (i < arr.length - 1) { sb.append(", "); String str = sb.toString(); 输出字符串为:"1, 2, 3, 4, 5" 这里的代码将数组中的每个元素添加到 StringBuilder 对象中,并在每个元素之间添加逗号和空格。最后,调用 StringBuilder 的 toString() 方法将其转换字符串。 也可以使用 Java 8 中的 Stream API 和 String.join() 方法来实现同样的功能: int[] arr = {1, 2, 3, 4, 5}; String str = String.join(", ", Arrays.stream(arr).mapToObj(String::valueOf).toArray(String[]::new)); 输出字符串为:"1, 2, 3, 4, 5" 这里的代码将数组转换为 IntStream,然后使用 mapToObj() 方法将每个整数映射为字符串,最后使用 String.join() 将所有字符串连接在一起,使用逗号和空格作为分隔符。 注意:如果数组为空或 null,上述代码将会返回空字符串