Альтернатива потоку для преобразования Charsequence в String

Я пишу мобильное приложение в студии Android. У меня есть список массивов, который я преобразовываю в строку для оценки в механизме сценариев.

сейчас я использую

    resultText = total.stream().collect(Collectors.joining(""));

С полным существом

    ArrayList<CharSequence> total = new ArrayList<>();

Текущий ввод-вывод выглядит примерно так

    CharSequence [1,+,2] --> .Stream() "1+2" --> .eval 3.0

Есть ли альтернативный способ получить этот вывод? В настоящее время я использую уровень API 28 для доступа к потоку, но мне требуется минимальный уровень API 19.

Метод .ToString() не получает требуемый результат.

    CharSequence [1,+,2] --> .ToString "[1,+,2]" --> .eval NULL

Любая помощь будет принята с благодарностью.

Если вы говорите о java.lang.CharSequence, то total.toString() сделает то, что вы хотите.

Klitos Kyriacou 03.04.2019 08:58

Вы говорите, что преобразуете ArrayList в String в первом абзаце, а затем говорите, что total — это CharSequence. Итак, что это — ArrayList или CharSequence?

Klitos Kyriacou 03.04.2019 13:16

total — это ArrayList<CharSequence>. Я обновлю вопрос, чтобы сделать его более ясным. total.ToString сохраняет квадратные скобки и запятые в структуре ArrayLists и не может быть оценен ScriptEngine.

Jack Bonnnell 03.04.2019 13:57
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
366
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете использовать класс TextUtils.

List<Character> list = new ArrayList<>(Arrays.asList(
        '1', '+', '2'
));

String result = TextUtils.join("", list);

Базовый метод документацияjoin() был Added in API level 1

Точно такая же функциональность доступна как String.join() в Java 8.

Klitos Kyriacou 03.04.2019 18:41

Вы можете использовать следующее:

resultText = total.toString(); // where total is CharSequence Array.

ваша функция eval должна работать с этим.

Что вы подразумеваете под «массивом CharSequence»? Разве это не просто CharSequence?

Klitos Kyriacou 03.04.2019 10:27

Другие вопросы по теме