[英]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.