【问题标题】:How to always return a java.util.Vector如何始终返回 java.util.Vector
【发布时间】:2012-02-26 19:58:12
【问题描述】:

如果我的控件中的值只有一个值,下面的代码将返回一个字符串,如果有多个值,代码将返回一个 java.util.Vector。

getComponent("mycontrol").getValue();

即使只有一个值,我也希望这段代码返回一个向量。

我见过几个代码 sn-ps 将我的字符串转换为数组,但我想取回一个向量。

【问题讨论】:

    标签: serverside-javascript xpages


    【解决方案1】:

    没有办法强制将奇异值作为 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;
      }
    }
    

    【讨论】:

    • 感谢 Jeremy,效果很好,但效果更好。我将 obj.contructor 更改为 typeof function asVector(obj) { if(typeof obj === "java.util.Vector") { return obj; } else { var x:java.util.Vector = new java.util.Vector(); x.add(obj); return x; } } 不确定我是否喜欢这些 cmets,它们的格式不太好
    猜你喜欢
    • 2018-06-03
    • 1970-01-01
    • 2016-05-31
    • 2015-08-15
    • 2012-03-18
    • 2011-05-09
    • 2016-11-04
    • 2016-07-28
    • 2011-11-30
    相关资源
    最近更新 更多