我在eclipse中创建了一个JAX-WS客户端,它将与用VB.net编写的Web服务进行通信。我已经成功地完成了这项工作。
我的一个Web服务方法将返回类型为KitchenItems []
的对象KitchenItems有各种各样的厨房属性的get / set方法。但是,在使用KitchenItems []
时,我无法访问这些方法括号是否将对象转换为数组?如何访问KitchenItems中的get方法?我有一个自动生成的测试类,它执行以下操作以提取结果:
KitchenItem[] kitchenItem= soap.getKitchenItemsByLoginId(kitchenId);
List list = Arrays.asList(kitchenItem.);
String result = list.toString();
理想情况下,我想使用该对象,而不是转换为字符串。以上不会让我将数组转换为列表,因为它会抛出错误:
Type mismatch: cannot convert from List<KitchenItem> to List
有什么建议吗?谢谢!
答案 0 :(得分:1)
变量类型KitchenItem[]
或变量名称kitchenItem []上的方括号表示此变量是数组。
使用方括号运算符访问数组的元素,其中第一个元素作为kitchenItem[0]
访问,数组具有length
字段,用于确定数组中元素的数量。
假设我们有一系列项目:
KitchenItem[] kitchenItems = soap.getKitchenItemsByLoginId(kitchenId);
打印数组中第一个元素的名称:
System.out.println(kitchenItems[0].getName());
打印数组中最后一个元素的名称:
System.out.println(kitchenItems[kitchenItems.length - 1].getName());
可以使用以下代码打印每个KitchenItem
的所有名称:
KitchenItem[] kitchenItems = soap.getKitchenItemsByLoginId(kitchenId);
for (int i = 0; i < kitchenItems; i++) {
KitchenItem kitchenItem = kitchenItems[i];
System.out.println(kitchenItem.getName());
}
可以使用
将数组转换为通用List
List<KitchenItem> list = Arrays.asList(kitchenItem);
但是,由于最终会有额外的.
,或者因为您在Eclipse中进行了严格的检查,因此您的代码可能无法正常工作。通用的List
应该可以分配给简单的List
。