Как всегда вернуть java.util.Vector - PullRequest
3 голосов
/ 04 февраля 2012

Если значение в моем элементе управления имеет только одно значение, следующий код вернет строку, если имеется более одного значения, код вернет java.util.Vector.

getComponent ("mycontrol") .getValue ();

Я хочу, чтобы этот код возвращал вектор, даже если есть только одно значение.

Я видел несколько фрагментов кода, которые преобразуют мою строку в массив, но яхочу вернуть вектор.

1 Ответ

6 голосов
/ 04 февраля 2012

Нет способа принудительно вернуть единственное значение как java.util.vector (или Array в этом отношении).Единственный способ - проверить, является ли он вектором, а затем построить вектор, если нет.Вы можете поместить его в функцию и обернуть вызов в нее ... например (это непроверенный код, поэтому вам нужно проверить синтаксис и т. Д.):

asVector(getComponent("mycontrol").getValue());

function asVector(obj) {
  if (obj.constructor === java.util.Vector) {
    return obj;
  } else {
    var x:java.util.Vector = new java.util.Vector();
    x.add(obj);
    return x;
  }
}
...