我有一个项目类,其中包含itemName,price等数据,当卖家想要卖东西时,我会添加它,如下所示:
public void sellItem(String itemName, double Price) throws java.rmi.RemoteException, Exception {
items.add(new Item(itemName, price));
然后我返回列表中的所有项目,因此卖家/买家可以浏览列表。
public ArrayList<Item> listItems() {
return items;
}
接下来,我正在努力填充JGroups实例,以允许跨实例复制此“Item”数据。列出项目后,我转换为对象:
/* Create a new ItemObject containing the Items used for JGroups later */
public void createItemObject() throws Exception {
Object[] objArray = items.toArray();
FileOutputStream fis = new FileOutputStream("io");
ObjectOutputStream itemObject = new ObjectOutputStream(fis);
itemObject.writeObject(objArray);
itemObject.close();
fis.close();
}
复制服务器的每个实例都将此对象作为输入,并希望将此对象中的数据打印到其终端窗口:
static Object io = new Object();
public static void getAuctionObject() throws Exception {
FileInputStream fis = new FileInputStream("io");
ObjectInputStream auctionObjectIn = new ObjectInputStream(fis);
ao = auctionObjectIn.readObject();
auctionObjectIn.close();
System.out.println("Received object at Front End: " + ao);
//Print out item data.....
}
但是,我如何实际迭代此对象并打印出Item数据,例如'itemName','price'等?
答案 0 :(得分:3)
覆盖对象上的toString()
方法,以便每种类型返回格式正确的字符串。
或者,如果要保持原始toString()
方法不变,请创建一个由您要打印的所有对象类型共享的新interface
,并提供相同的&#34;共享方法&#34;通过所有这些对象,每个对象类型指定接口的方法行为。