2012-02-04 45 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