在服务器端实现一个服务函数,其返回值是String[]。到这一切很正常。当来到客户端时,自动生成的调用函数把返回值类型自动改为了ArrayOfString。其实看名字也就是那个东西,但要把它还原为我要的String[],也要花销几句代码。
解决代码:
Object obarray[];
ArrayOfString ret;
ret=service.somefunc(......);
List<String> p=ret.getString();
obarray[]=p.toArray();
for(int i=0;i<re.length;i++){
System.out.println(re[i].toString());
}
String[] 是定长数组,而 List <String> 可以看作是变长数组。
长度是固定的,即不会增加也不会减少时采用 String[]
长度未知,并且长度有可能增加时,使用 List <String>,比如要把
文件中的每一行都放到数组中,由于并不知道文件中的行数,所以使用
List <String> 就较为方便一些。
而且 List <String> 底层是以 String[] 为基础而扩展的。
----------------------------------
使用数组,最显著的特点,就是数组的元素个数是固定的,位置也是和元素相对应的。
String[] 当你确定每个位置的元素(字符串)内容的时候,或者,要频繁通过位置来取得数组内容的时候。使用数组还是很好的。当然,如果你要对数组进行添加,删除某个元素(字符串)那就是比较麻烦的事情,因为,这不但会影响的其他元素的位置,也要影响的数组的大小。
List <String > 在J2SE里面,确切的将,它是一个接口,表示一个对于链表的所有功能(操作)。当然,J2SE里面也提供的List接口的一些具体的实现类,最常用的应该是ArrayList和LinkedList,使用尖括号将String类括起来,是JDK1.5的范型所要求的,也就是说,这表明,你所使用的链表里面只能存放String类型的数据。当然,使用ArrayList和LinkedList都不用在意链表的长度问题,因为,一般情况下,我们使用的链表大小是不会超出Java整型变量的最大值的。所以,我认为,预期使用String[]不如使用ArrayList <String>,这样既使用方便,也不用顾虑到其他的一些问题(比如增删里面的元素,有可能是元素位置变动之类的)。当然,如果,你频繁的要对这个集合当中的元素进行增删,不妨使用LinkedList,它以循环链表作为原型,对于数据的增删操作,相当方便,正反两个方向的对元素的遍历也可以使用listIterator,还是暴爽无比的。
===============关于StringOfArray的赋值===================
ArrayOfString attachaddr=new ArrayOfString();
attachaddr.getString().add("url1");
attachaddr.getString().add("url2");
-----somefun(.......,atttachaddr);
注解:attachaddr.getString().返回的是Link<String>, 但通过操作此Link<String>,同样是在操作attachaddr.
因为:Link<String>是引用型变量,其操作地址就是attachaddr的。注意这与C++的区别,不是赋值传递而是引用传递。
分享到:
相关推荐
在IT行业中,Web服务是一种通过网络提供和使用应用程序接口(API)的方式,它允许不同的系统之间交换数据。...通过研究提供的代码和理解其背后的原理,你可以掌握如何在实际项目中处理复杂数据类型的Web服务调用。
### WebService接口接收XML与String代码解析 #### 一、概述 在现代软件开发中,WebService作为一种基于HTTP协议的应用程序接口(API),广泛应用于不同系统之间的数据交换与服务调用。本篇文章将根据提供的代码示例...
C++2005调用C#Webservice接口返回值为List 本文将详细介绍C++2005如何调用C#Webservice接口返回值为List。首先,需要了解C#Webservice的基本概念和C++2005如何调用Webservice接口。 一、C#Webservice的基本概念 ...
为了更好地理解这个过程,可以从提供的"webservice"压缩包文件中查看示例代码。通常,这个压缩包可能包含以下内容: - 服务端的Spring Boot项目,包括pom.xml配置文件、服务接口和实现类、CXF配置等。 - 客户端示例...
【标题】:在Java EE环境中,使用Apache CXF与Spring框架整合实现Web服务,返回List、Bean、String、JSON及XML的完整项目实例 【描述】:本项目旨在展示如何在Java企业级应用(Java EE)中,通过Apache CXF框架创建...
在IT行业中,Web服务是一种通过网络提供功能或数据的方式,使得不同的应用程序能够相互通信和交换信息。...在实际项目中,你还需要考虑错误处理、安全性、性能优化等问题,确保服务稳定、安全地运行。
【标题】"超简单的webservice调用"涉及的是在Java环境下使用Hutool库进行Web Service接口调用的基础知识。Web Service是一种基于网络的、松散耦合的软件组件交互方式,它允许不同系统间的应用共享数据和服务。在这个...
这篇博文可能是关于如何在Java中处理XML文档,以及如何利用XML与Web服务进行通信的一个教程。让我们深入探讨这两个主题。 首先,XML(eXtensible Markup Language)是一种用于标记数据的语言,它具有自我描述性和...
在WebService中,我们可能需要返回各种类型的数据,包括基本类型如String和复杂类型如List。对于String,WebService可以通过SOAP消息返回一个字符串值,这是最简单的数据交换形式。而List则代表可变大小的集合,可以...
在Java中调用.NET编写的ASMX WebService是一种常见的跨平台交互方式,允许Java应用程序利用.NET框架提供的服务。本文将详细介绍如何使用Apache Axis库来实现这一功能,以及处理.NET WebService返回的对象,特别是...
标题中的“完整的Axis Web服务例子 实现List”指的是这个示例项目展示了如何在Axis中处理包含List类型的数据。在Web服务中,通常我们需要序列化和反序列化复杂的数据结构,如List。在Java中,List是一种常见的集合...
在本例中,可能需要在后台代码(如C#)中处理JSON数据,然后在页面加载事件中将数据绑定到GridView。此外,可能还需要考虑错误处理、数据分页、排序和筛选等功能,以提供更丰富的用户体验。 总结,动态调取...
最简单的办法当然是直接添加WEB引用,然后自动产生代理类,但是在调用JAVA的WebService时并没有这么简单,特别是对于SoapHeader的处理,通过C#添加Web引用方式访问JavaWebService的方法,除了string类型能正常传递...
在WinForm应用程序中调用WebService是一项常见的任务,它允许客户端应用程序与远程服务器上的服务进行交互,从而实现数据交换和功能扩展。以下是如何在WinForm中实现这一操作的详细步骤及涉及的相关知识点: 1. **...
在VC++中调用WebService服务是一项常见的任务,尤其在跨平台通信、系统集成或扩展应用程序功能时。WebService是一种基于Web的、松耦合的服务,它使用标准的HTTP协议进行通信,并通过XML(eXtensible Markup Language...
在C#开发中,有时候我们需要与WebService进行交互,获取或发送数据。本篇文章将详细介绍如何利用`HttpWebRequest`类来实现这一功能,并通过示例代码帮助理解具体的实现步骤。 #### 一、基础知识介绍 在深入了解...
在IT行业中,Web服务(WebService)是一种通过网络进行通信的标准接口,它允许不同的应用程序之间交换数据和协同工作。本文将详细探讨"访问WebService处理拦截开始访问的消息"这一主题,包括Web服务的工作原理、消息...
WebService在.NET中的实战应用是开发跨平台、跨语言应用程序的重要技术。它基于开放标准,如SOAP(简单对象访问协议)和WSDL(Web服务描述语言),使得不同系统间的数据交换变得简单而有效。本篇文章将深入探讨.NET...
public synchronized static String accessService(String wsdl, String ns, String method, Map<String, String> params, String result) throws Exception { // 拼接参数 String param = getParam(params); ...