WebParam.Mode.OUT类型对象与Holder 对象

今天同事用webservice调用接口的时候,发现了一种参数, WebParam.Mode.OUT类型的参数,百度得知“如果指定 WebParam.Mode.OUT 或 WebParam.Mode.INOUT,则该参数的数据类型必须为 Holder 或扩展 Holder”;

由于 Java 不支持输出参数,因此方法通常限制为返回单个值。但是,在许多情况下,一个方法返回多个值更为有用。在这些情况下,API 使用 Holder 对象。Holder 对象包含一个名为 value 的单个成员变量。 Holder 对象没有任何方法。

Holder 对象是使用单个变量创建的对象。这些对象随后可传递到设置该变量的方法。方法返回时,可以检索变量的值。

具体介绍看转载:

https://www.ibm.com/support/knowledgecenter/zh/SSS28S_8.2.1/API/api_reference_holder_objects_java-filter_java.html

下面是我的例子:一看就懂了

    public static void main(String[] args) {
        StringHolder name = new StringHolder();
        name.value = "555555555";
        change(name);
        System.out.println(name.value);
    }
    
    public static StringHolder change(StringHolder old) {
        String newName = old.value;
        newName = newName+"6666666";
        old.value = newName;
        return old;
    }

输出结果:5555555556666666

 

 

posted @ 2019-02-25 17:19  昊Zz  阅读(556)  评论(0编辑  收藏  举报