2012-02-04 44 views
3

如果我的控件中的值只有一個值,那麼下面的代碼將返回一個String,如果有多個值,代碼將返回一個java.util.Vector。如何總是返回java.util.Vector

getComponent(「mycontrol」)。getValue();

即使只有一個值,我也希望此代碼返回一個向量。

我已經看到了幾個代碼片段,可以將我的字符串轉換爲數組,但我想獲取一個向量。

回答

6

沒有辦法強制將單數值返回爲java.util.vector(或數組)。唯一的方法是測試它是否是一個向量,如果不是,則建立一個向量。你可以把它變成一個功能,把外面的呼叫成...例如(這是未經測試的代碼,所以你需要驗證語法等):

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; 
    } 
} 
+1

感謝傑里米,那工作不錯,但這工作得更好。我改變了obj.contructor到TYPEOF '函數asVector(OBJ){ \t如果(typeof運算OBJ === 「java.util.Vector中」){ \t \t返回物鏡; \t} else { \t \t var x:java.util.Vector = new java.util.Vector(); \t \t x.add(obj); \t \t return x; \t} }' 不確定我喜歡這些評論,它們沒有很好地格式化 – 2012-02-04 15:40:23