java8 对于字符串的连接很方便,使用lamda 可以对于字符串的连接更加简洁和方便
1.Api
-
joining
public static Collector<CharSequence,?,String> joining()
返回一个 Collector
,将输入元素连接到一个 String
,按照顺序。
结果
一个 Collector
,将输入元素连接到一个 String
中,按照顺序
-
joining
public static Collector<CharSequence,?,String> joining(CharSequence delimiter)
返回一个 Collector
,以遇到的顺序连接由指定的分隔符分隔的输入元素。
参数
delimiter
- 要在每个元素之间使用的分隔符
结果
A Collector
,它以相遇顺序连接由指定的分隔符分隔的CharSequence元素
2. 实例
public class Joining {
public static String ArrayJoin(String[] arr){
return Arrays.stream(arr).collect(Collectors.joining("','","'","'"));
}
public static String ListJoin(List<String> list){
return list.stream().collect(Collectors.joining(","));
}
public static String CharJoin(List<CharSequence> charList){
return charList.stream().collect(Collectors.joining());
}
}
public class LamdaJoining {
@Test
public void testArrayJoining(){
String[] helloWorld = new String[]{"H","e","l","l","o"," ","W","o","r","l","d","!"};
System.out.println(Joining.ArrayJoin(helloWorld));
}
@Test
public void testListJoining(){
List<String> helloWorld = Arrays.asList("H","e","l","l","o"," ","W","o","r","l","d","!");
System.out.println(Joining.ListJoin(helloWorld));
}
@Test
public void testCharSequenceJoining(){
List<CharSequence> helloWorld = Arrays.asList("H","e","l","l","o"," ","W","o","r","l","d","!");
System.out.println(Joining.CharJoin(helloWorld));
}
}
output:
'H','e','l','l','o',' ','W','o','r','l','d','!'
H,e,l,l,o, ,W,o,r,l,d,!
Hello World!