2010-08-26 56 views
1

我已經在eclipse中創建了一個JAX-WS客戶端,它將與在VB.net中編寫的Web服務進行通信。我已經得到這個成功的工作。顯示來自括號括起來的對象的結果,Web服務示例

我的一個Web服務方法將返回類型KitchenItems的obect []

的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 

有什麼建議嗎?謝謝!

回答

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<KitchenItem> list = Arrays.asList(kitchenItem); 

一個泛型化List但是你的代碼可能無法正常工作,因爲在年底額外.還是因爲你有嚴格的在Eclipse中檢查上。通用的List應該可以分配給一個簡單的List