У меня есть массив Character (не char), и я хочу преобразовать его в строку, объединив все символы в массиве.
Я пробовал следующее для данного Character[] a :
Но это не работает, так как a не является массивом char. Я был бы признателен за любую помощь.
Итерационный и конкатенационный подход:
ArrayUtils является частью Apache Commons Lang.
Самый эффективный способ сделать это, скорее всего, это:
- Использование StringBuilder позволяет избежать создания нескольких промежуточных строк.
- Предоставление начального размера позволяет избежать перераспределения.
- Использование charValue() позволяет избежать вызова Character.toString() .
Однако, я бы, вероятно, пошел с @Torious элегантным ответом, если производительность не была значительной проблемой.
Кстати, JLS говорит, что компилятору разрешено оптимизировать выражения конкатенации String с использованием эквивалентного кода StringBuilder. но он не санкционирует эту оптимизацию для нескольких операторов. Поэтому что-то вроде этого:
вероятно, сделает много отдельных конкатенаций, создавая (и отбрасывая) множество промежуточных строк.
Есть текстовое поле типа стринг:
Стринг не массив, а просто строка
Как мне его спарсить и записать в массив типа int ?
- Вопрос задан более трёх лет назад
- 907 просмотров
Помогите с таким вариантом
Вот что я получаю на выходе: [3389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
В итоге сплита, вы получаете массив строк состоящих из пробела и числа. Из-за пробела, у вас parseInt кидает ошибку, которую вы успешно гасите и не видите из-за чего не парсится часть чисел.
По дефолту, в джаве, массив приметивного типа, например int инициализируется нулями
Сначала строку разбиваем .split(«,s»); в массив строк. Создаем массив int той же длины. Потом в цикле обходим массивы и поэлементно преобразуем строки в числа numbres[i] = Integer.parseInt(strings[i]);
UPD: На самом деле это НЕ лучшее решение. Я как-то сразу проглядел, что эта строка — валидный объект в формате JSON, и парсится должна соответствующими инструментами. Правильные ответы дали: EugeneP2 и OnYourLips
Есть ли функция, переводящая строку с численными значениями без запятой, разделенными пробелами, в массив int ?
Содержание
- 1 ответ 1
- Всё ещё ищете ответ? Посмотрите другие вопросы с метками java массивы или задайте свой вопрос.
- Похожие
1 ответ 1
Примерно как то так можно — рассплитить в массив строк по разделителю и преобразовать из строк в целочисленное:
В Java 8 можно сделать в одну строку:
Всё ещё ищете ответ? Посмотрите другие вопросы с метками java массивы или задайте свой вопрос.
Похожие
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
дизайн сайта / логотип © 2019 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2019.11.15.35459
Источник: