1. 程式人生 > >(轉)【筆記】Java8利用Lambda處理String[]轉String

(轉)【筆記】Java8利用Lambda處理String[]轉String

//記錄一下相關的轉換,以備後續學習
public static void main(String[] args){
   String[] a = stripAll("1","2","3","4");//org.apache.commons.lang3.StringUtils
   String[] b = stripAll(new String[]{"1","2","3","4"},"/");
   System.out.println(strip("/123/123 /","/"));
   System.out.println(Arrays.toString(a));

   String start = "'";
   String end = "'";
   String link = ",";
   int[] arr = {1,2,3,4};
   String[] arr2 = {"1","2","3","4"};
   //forEach函式實現內部迭代
   StringBuilder sb = new StringBuilder();
   Arrays.asList(arr2).forEach(o -> { if (sb.length() > 0) {sb.append(link);} sb.append(start + o + end);});//forEach函式實現內部迭代
   System.out.println(sb);
   //map collect
   String str1 = Arrays.stream(arr).boxed().map(i -> start+i.toString()+end).collect(Collectors.joining(link));
   String str1_1 = Arrays.stream(arr2).map(i -> start+i.toString()+end).collect(Collectors.joining(link));
   System.out.println("str1:"+str1);
   System.out.println("str1_1:"+str1_1);
   //map reduce
   String str2 = Arrays.stream(arr).boxed().map(i -> start+i.toString()+end).reduce("/", String::concat);
   System.out.println("str2:"+str2);
   // 方法引用Object::toString
   String str3 = Arrays.stream(arr).boxed().map(Object :: toString).reduce("/", String::concat);
   System.out.println("str3:"+str3);

}
 

列印結果:

'1','2','3','4'
str1:'1','2','3','4'
str1_1:'1','2','3','4'
str2:/'1''2''3''4'
str3:/1234