java-将对象数组转换为字符串数组
作者:互联网
我有一个包含商品名称,价格等数据的商品类,当卖家想出售商品时,我将其添加到商品类中,如下所示:
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”等?
解决方法:
覆盖对象上的toString()方法,以便每种类型都返回格式正确的字符串.
或者,如果您想保持原始的toString()方法不变,则创建一个新接口,该接口将由您要打印的所有对象类型共享,并为所有这些对象(每种对象类型)提供相同的“共享方法”指定接口方法的行为.
标签:jgroups,arrays,java,object 来源: https://codeday.me/bug/20191119/2035493.html