У меня есть класс элементов, который содержит данные, такие как ITEMNAME, цены и т.д., и добавить к нему, когда продавец хочет продать что-то, например, так:Преобразование массива объектов в массив строк
public void sellItem(String itemName, double Price) throws java.rmi.RemoteException, Exception {
items.add(new Item(itemName, price));
I затем вернуться все элементы в списке, поэтому продавец/покупатель может просматривать список.
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.....
}
Однако, как бы я на самом деле перебирал этот объект и распечатывал данные элемента, такие как «itemName», «price» и т. Д.?
Возможно, потребуется перегрузка '.toString()' этого класса. Затем вы можете просто вызвать '.toString()'. – ryanyuyu
OTOH, много Java-кода использует '.toString()' для существенной отладки. Если у вас есть разные требования к красиво отформатированной строке, рассмотрите возможность добавления нового строкового метода 'inventoryString()' или что-то подобное, которое печатает форматированную строку так, как вам нужно. – markspace