今天看一个webservice接口里面有2个参数是StringHolder类型的,之前没用过这个。就在网上找了下StringHolder如何使用。大概总结了下。
StringHolder可以用在实现多个返回值,像接口要返回多个返回值。具体使用可以看下我写的这个例子:
package test; import org.omg.CORBA.StringHolder; public class StringHolderTest1 { /** * StringHolder类使用 * @param sh1 * @param sh2 */ public void post(StringHolder sh1,StringHolder sh2){ sh1.value="实际返回值1"; sh2.value="实际返回值2"; } /** * 实现返回多个返回值 */ public static void main(String[] args) { StringHolderTest1 test=new StringHolderTest1(); StringHolder ss1=new StringHolder("初始值1"); StringHolder ss2=new StringHolder("初始值2"); test.post(ss1,ss2); System.out.println(ss1.value);//打印出来实际返回值 System.out.println(ss2.value);//打印出来实际返回值 } }
以下是java API里关于StringHolder的说明:
org.omg.CORBA
类 StringHolder
java.lang.Object org.omg.CORBA.StringHolder
- 所有已实现的接口:
- Streamable
-
public final class StringHolder
- extends Object
- implements Streamable
String 的 Holder。关于 Holder 文件的更多信息,请参阅“生成的文件:Holder 文件”。
String
值的 Holder 类,用来存储 IDL 操作中的 "out" 和 "inout" 参数。如果 IDL 操作签名将一个 IDL string
作为 "out" 或 "inout" 参数,则程序员必须传递一个 StringHolder
实例作为方法调用中的相应参数;对于 "inout" 参数,程序员还必须填充将被发送到服务器的 "in" 值。在方法调用返回之前,ORB 将填充与从服务器返回的 "out" 值对应的值。
如果 myStringHolder
是 StringHolder
实例,则可以使用 myStringHolder.value
访问存储在其 value
字段中的值。
- 从以下版本开始:
- JDK1.2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。