Как преобразовать содержимое массива в строку в Java - PullRequest
0 голосов
/ 07 сентября 2018

Как можно преобразовать содержимое Array в String в Java?

Пример:

int[] myArray = {1,2,3};

Выходные данные должны быть:

"123"

Arrays.toString(myArray) возвращается:

"[1, 2, 3]"

и myArray.toString(), возвращает:

[I@12a3a380

Так что ни один из них не работает. Есть ли функция для этого?

Этот вопрос может выглядеть как (this) , но на самом деле он другой. Я буквально прошу String, сделанный из всех записей массива.

Ответы [ 4 ]

0 голосов
/ 07 сентября 2018

Я пойду в старую школу, которая работает каждый раз, несмотря ни на что:

String myString = "";
for(int val : myArray)
{
  myString += val;
}

System.out.println(myString); // To check the output of myString

Будет работать! Надеюсь, это поможет!

Примечание : Это будет работать и во встроенной Java, где StringBuilder и некоторые другие классы очищаются для встроенных устройств.

0 голосов
/ 07 сентября 2018

Старомодный способ:

StringBuilder builder = new StringBuilder();
for (int value : myArray) {
  builder.append(value);
}
... now use builder.toString()

Меньше фантазии по сравнению с потоковым решением, но с другой стороны: в случае, если производительность во время выполнения имеет значение, это должно превзойти любой другой подход.

0 голосов
/ 07 сентября 2018

Кривый подход заключается в удалении любого нецифрового символа из выходного значения одного из традиционных методов сериализации:

Arrays.toString(myArray).replaceAll("\\D", "");

, что в вашем примере дает 123.

replaceAll заменяет все положительные совпадения регулярного выражения в первом параметре на содержимое второго параметра.\D означает регулярное выражение для всего, что не является цифрой.

0 голосов
/ 07 сентября 2018
String joined = Arrays.stream(myArray)
            .mapToObj(String::valueOf)
            .collect(Collectors.joining(""));

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