Двумя основными параметрами являются listToArray (myList) и java-метод myList.split (), как отмечалось в предыдущих ответах и комментариях.Однако следует кое-что отметить.
- По умолчанию функции списка ColdFusion игнорируют пустые элементы списка.
- Начиная с версии 8 ColdFusion, listToArray принимает необязательный третий аргумент, includeEmptyFields, который являетсялогическое значение, управляющее этим поведением, по умолчанию false.
Например:
listToArray("asdf,,,qwer,tyui") is ["asdf", "qwer", "tyui"]
listToArray("asdf,,,qwer,tyui", ",", true) is ["asdf", "", "", "qwer", "tyui"]
Re java split:
Как и другие javaфункциональность, которая распространяется через слой ColdFusion, недокументированная и не поддерживается
В Adobe ColdFusion 8, 9 и 10, но не в Railo, это синтаксическая ошибка:
a = "asdf,,,qwer,tyui".split(",")
Но это работает:
s = "asdf,,,qwer,tyui";
a = s.split(",");
Насколько я вижу, Adobe ColdFusion обрабатывает результат .split () как массив ColdFusion:
- CFDump показывает его как массив
- Это основано на 1
- Вы можете использовать arrayLen на нем
- Вы можете изменить его элементы в ColdFusion
- Могут быть и другие варианты поведения, которых я не делалпроверьте, что не похож на массив CF, но, как указано выше, это неupported
В Railo:
- Отладочные дампы показывают его как собственный массив (java.lang.String [])
- Другие утверждения о его оченьПоведение, подобное массиву, все еще остается верным
Это отличается от реальных массивов Java, созданных с помощью createObject ("java", "java.util.ArrayList").
ПРИМЕЧАНИЕ. Этотолько отчасти правильно;см. правку ниже.
- Например, в Adobe ColdFusion элементы Java ArrayList не могут быть изменены напрямую с помощью CFML
- В общем, Railo обрабатывает Java-массивы большекак у ColdFusion, чем у ACF
Редактировать: Спасибо, Ли, я исправлен, я должен придерживаться того, что я знаю, что на CF больше, чем Java.
Я реагировал на комментарий, говоря, что результатом .split () "является не массив ColdFusion, а собственный массив Java. Вы не сможете изменить его с помощью CF", что не так.по моему опыту.Моя попытка разъяснить это, будучи более конкретным, была плохо информирована и ненужна.