Преобразование целого числа в массив символов: java

Как лучше всего преобразовать целое число в массив символов?

Вход: 1234

Выход: {1,2,3,4}

Помня о обширности языка Java, какой будет лучший и эффективный способ сделать это?

Ответ 1

int i = 1234;
char[] chars = ("" + i).toCharArray();

Ответ 2

Вы можете попробовать что-то вроде:

String.valueOf(1234).toCharArray();

Ответ 3

Попробуйте это...

int value = 1234;
char [] chars = String.valueOf(value).toCharArray();

Ответ 4

Вы можете преобразовать это целое число в строку и затем преобразовать эту строку в char arary: -

int i = 1234;
String s = Integer.toString(i);
Char ch[] = s.toCharArray();

/*ch[0]=1,ch[1]=2,ch[2]=3,ch[3]=4*/

Ответ 5

Мне задали этот вопрос в интервью Google. Если вас попросят в интервью, используйте модуль и подразделение. Вот ответ

List<Integer> digits = new ArrayList<>();
//main logic using devide and module
for (; num != 0; num /= 10)
    digits.add(num % 10);

//declare an array
int[] arr = new int[digits.size()];
//fill in the array
for(int i = 0; i < digits.size(); i++) {
    arr[i] = digits.get(i);
}
//reverse it.
ArrayUtils.reverse(arr);

Ответ 6

Скажите, что у вас есть массив ints и другой метод, который преобразует эти ints в письма, например, для программы, меняющей числовые оценки на классы букв, вы бы сделали...

public char[] allGradesToLetters()
   {
      char[] array = new char[grades.length];

      for(int i = 0; i < grades.length; i++)
      {
         array[i] = getLetter(grades[i]);
      }

      return array;
   }