2017-09-14 72 views
-1

如何在不使用循環的情況下將字符串拆分爲整數數組?如何將字符串拆分爲整數數組?

例如:
如果我有一個字符串"12345",我想轉換爲int陣列[1,2,3,4,5]不使用循環。我知道如何做到這一點。有沒有java提供的內置函數可以分割並轉換爲所需的數據類型?

+4

至少表明你將如何與循環 –

+0

這就是所謂的BTW流,內置的您正在尋找的概念做。 –

+4

你到目前爲止嘗試過什麼? – GurV

回答

0

如果你的Java 8,你可以使用一個Stream

「支持串行和並行總 操作元素的序列」

觀察:

import java.util.Arrays; 
import java.util.stream.Stream; 

class Main { 
    public static void main(String[] args) { 
    String numbersString = "12345"; 

    int[] numbersIntArray = Stream.of(numbersString.split("")).mapToInt(Integer::parseInt).toArray(); 

    System.out.println(Arrays.toString(numbersIntArray)); // [1, 2, 3, 4, 5] 
    } 
} 
0

的Java 8你可以使用數組也UTIL。

String string = "12345"; 
int[] ints= Arrays.asList(string.split("")).stream().mapToInt(Integer::parseInt).toArray(); 
System.out.println(Arrays.toString(ints));; 
0

您可以使用遞歸。

public class Test { 

    static List<Integer> integerArray = new ArrayList<Integer>(); 
    static int strLength; 
    static String s; 

    public static void main(String[] args) { 

     s = "12345"; 
     strLength = s.length(); 

     recursiveMe(0); 

     System.out.println(integerArray.toString()); 
    } 

    public static void recursiveMe(int n) { 
     if (n < strLength) { 
      integerArray.add(n, Integer.parseInt(String.valueOf(s.charAt(n)))); 
      recursiveMe(n + 1); 
     } 
    } 

}