StringHolder类使用

   今天看一个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" 值对应的值。

如果 myStringHolderStringHolder 实例,则可以使用 myStringHolder.value 访问存储在其 value 字段中的值。

从以下版本开始:
JDK1.2

你可能感兴趣的:(jdk,webservice,String,服务器,存储,Class)