编程语言
首页 > 编程语言> > java-将对象数组转换为字符串数组

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