簡體   English   中英

Java 將 String[] 轉換為 int[]

[英]Java convert String[] to int[]

我有一個 String[],其中每個元素都可以轉換為 integer。 我可以將其轉換為 int [] 的最佳方法是什么?

int[] StringArrayToIntArray(String[] s)
{
    ... ? ...
}
public static int[] StringArrToIntArr(String[] s) {
   int[] result = new int[s.length];
   for (int i = 0; i < s.length; i++) {
      result[i] = Integer.parseInt(s[i]);
   }
   return result;
}

只需遍歷字符串數組並轉換每個元素。

注意:如果您的任何元素無法解析為int ,此方法將引發異常。 為了防止這種情況發生,對Integer.parseInt()的每次調用都應該放在try/catch塊中。

現在 Java 終於趕上了函數式編程,有一個更好的答案:

int[] StringArrayToIntArray(String[] stringArray)
{
    return Stream.of(stringArray).mapToInt(Integer::parseInt).toArray();
}

番石榴

return Ints.toArray(Collections2.transform(Arrays.asList(s), new Function<String, Integer>() {
    public Integer apply(String input) {
        return Integer.valueOf(input);
    }
});

誠然,這不是最干凈的使用,但由於Function可以在其他地方聲明,它可能仍然更干凈。

這是將 String 轉換為 Int 的簡單方法。

    String str = "15";
    int i;
    
    i = Integer.parseInt(str);

這是一個示例,如果您對用戶的輸入進行一些數學運算:

    int i;
    String input;
    i = Integer.parseInt(str);
    input = JOptionPane.showMessageDialog(null, "Give me a number, and I'll multiply with 2");
    JOptionPane.showMessageDialog(null, "The number is: " + i * 2);

Output:

彈出:一個帶有輸入框的對話框,上面寫着:給我一個數字,我將它乘以 2。

彈出:數量為:inputNumber * 2

將 java 8 中的 String[] 轉換為 Integer[]:

Integer[] myArray = Stream.of(new String[] { "1", "2", "3" })
        .map(Integer::parseInt)
        .toArray(Integer[]::new);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM