我在Java RMI中開發了一個簡單的不可信系統,現在我必須將其更改爲Web Services。我有一個問題,我的數據結構:WebService中的Hashtable更新java
Hashtable<String, ArrayList<Records>> recordsTable;
它不序列/正確更新我的對象。
我很笨,如何改變我的數據結構來克服這樣的問題?
將帖子
爲了簡單起見,我說有這種數據結構:
Hashtable<String, Integer> store = new Hashtable<String, Integer>();
我有一個購買()和顯示()服務,其發佈。最初我在店裏有100個蘋果,所以當我購買()10個蘋果時,它會打印90個蘋果的結果。 但是當我調用顯示後,它將打印100個蘋果。
所以有一個序列化問題,我不知道如何解決這個問題。
public class StoreServer{
Hashtable<String, Integer> store= new Hashtable<String, Integer>();
public StoreServer()
{
store.put("Coffee", 20);
store.put("Apple", 100);
store.put("Banana", 50);
display();
}
public String buy(String item, int quantity)
{
if(store.containsKey(item))
{
int oldQuantity = store.get(item);
int newQuantity;
if(oldQuantity-quantity>=0)
{
newQuantity= oldQuantity -quantity;
store.put(item, newQuantity);
return quantity+" "+item+" were successfully purchased!\n" +
("1. Coffee: "+store.get("Coffee")+"\n")+
("2. Apples: "+store.get("Apple")+"\n")+
("3. Bananas: "+store.get("Banana")+"\n")+
("---------------------------\n");
}
else
{
return "error with your purchase";
}
}
else
{
return "error with your purchase";
}
}
public void display()
{
System.out.println("------Store Inventory-----");
System.out.println("1. Coffee: "+store.get("Coffee"));
System.out.println("2. Apples: "+store.get("Apple"));
System.out.println("3. Bananas: "+store.get("Banana"));
System.out.println("---------------------------");
}}
向我們顯示teh codez –
請張貼一些代碼來重現問題。 'Records'是否實現了'java.io.Serializable'接口? – Bizmarck
@SeanPatrickFloyd我添加了一個我的問題的簡單代碼 – newbieLinuxCpp