Хранение строк и целых чисел в одном массиве GWT - PullRequest
0 голосов
/ 15 мая 2009

Кажется, это должно быть относительно просто, но, видимо, не так уж и много. Я не могу понять, как хранить строки и целые числа в массиве в GWT. Какой тип данных вы используете? Если я использую JsArrayString, он выдает IllegalArgumentException при получении индекса, содержащего число. Я, очевидно, не могу использовать JsArrayInteger (у меня есть строки). JsArray требует тип, который я понятия не имею, что использовать (если это можно использовать), я пробовал String, но получаю те же результаты.

Извлекаемые данные взяты со страницы сценария, и они не могут различать строки и целые (ColdFusion).

Ответы [ 4 ]

1 голос
/ 03 сентября 2012

Теперь это возможно, используя JsArrayMixed.

0 голосов
/ 15 мая 2009

Это немного неуклюже, но вы всегда можете сделать некоторые грубые определения, является ли данное значение целым или строковым:

<cfset val1="one">
<cfset val2="1">
<cfif int(val(val1)) eq val1>int<cfelse>string</cfif>
<br />
<cfif int(val(val2)) eq val2>int<cfelse>string</cfif>

Это должно дать вам

 string
 int
0 голосов
/ 15 мая 2009

В настоящее время GWT не имеет функции для анализа структуры массива, которая содержит два разных типа данных, кроме как в строгой форме JSON (не как часть структуры JSON в массиве, передаваемом из ColdFusion, по-видимому).

0 голосов
/ 15 мая 2009

Я думаю, вы можете использовать объект в качестве вашего типа. Вы должны будете поместить ваши примитивы (int) в класс Integer, если он не сделает это автоматически для вас. Вам также нужно будет выполнить некоторую проверку типов после того, как вы получите то, что находится в массиве.

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