Java конвертирует String [] в int [] - PullRequest
3 голосов
/ 10 августа 2011

У меня есть строка [], где каждый элемент может быть преобразован в целое число. Как лучше всего преобразовать это в int []?

int[] StringArrayToIntArray(String[] s)
{
    ... ? ...
}

Ответы [ 4 ]

11 голосов
/ 10 августа 2011
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.

2 голосов
/ 01 августа 2015

Теперь, когда Java наконец-то догнал функциональное программирование, есть лучший ответ:

int[] StringArrayToIntArray(String[] stringArray)
{
    return Stream.of(stringArray).mapToInt(Integer::parseInt).toArray();
}
2 голосов
/ 10 августа 2011

С Гуава :

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

По общему признанию, это не самое чистое использование когда-либо, но, поскольку Function может быть объявлено в другом месте, оно может быть еще чище.

0 голосов
/ 27 июля 2015

Это простой способ конвертировать строку в 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);

Выход:

Всплывающее окно: диалоговое окно с полем ввода, которое гласит: дайте мне число, и я умножу его на 2.

Всплывающее окно: Номер: inputNumber * 2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...