我创建了一个类,想要调用getTicketsCollection()并让它在控制台下面显示输出。
我的问题是如何让它打印清单而不打印地址(?)
这是完整的方法
public List<TicketInfo> getTicketsCollection() {
Tickets Ticket = new Tickets();
List<TicketInfo> tickets = Ticket.getTicketCollection();
System.out.println("Company name: " + nextTicket.getCompanyName() + " Symbol: " + nextTicket.getCompanySymbol()
}
return tickets_today;
}
并将其打印到控制台(类输出选项卡):
[WSpackageWS.TicketInfo@177bea38, WSpackageWS.TicketInfo@7f132176, WSpackageWS.TicketInfo@6bca7e0d]
答案 0 :(得分:0)
使用System.out.println(getSharesCollection());
的地方,您在toString()
上调用List
方法。
这就是为您提供[WSpackageWS.TicketInfo@177bea38, ...]
输出的原因。 @177bea38
是一个哈希码,它是默认的toString()
实现(针对您的TicketInfo
类)。
为了正确显示输出,您需要从TicketInfo
类中提取所需的数据。
最好的方法是在TicketInfo
中实现(和覆盖)toString()方法。您可以使用System.out.println
方法中getTicketsCollection()
的行来执行此操作。
答案 1 :(得分:0)
现在写入正在打印对象的哈希码,因为System.out.println(object)调用要打印其对象的类的toString()。默认情况下,调用java.lang.Object类的toString()。要更改它,请覆盖要打印其对象的类的toString()。 希望它有所帮助..
答案 2 :(得分:0)
我的问题是如何让它打印清单(中的内容) 服务器选项卡)到类输出选项卡(而不是打印地址(?)
很明显,您在服务器控制台选项卡中得到的输出低于此值,因为该代码在服务器上执行,并且您正在打印TicketInfo
类的每个成员。
Info:
Company name: Microsoft Symbol: Frog Currency: GBP Available tickets: 625
Value per share: 500 DateOLU: 04/04/2017
这不是客户端代码,因为您试图在不覆盖toString
的情况下打印对象。
所以,有几件事情:
您需要显示getSharesCollection()
方法的实现,该方法似乎正在返回List
,但在您共享实施之前无法判断。
通过添加以下代码
覆盖toString ()
方法
public String toString ()
{
return "Company name: " + nextTicket.getCompanyName() + " Symbol: " + nextTicket.getCompanySymbol() + " Currency: " + nextTicket.getCurrency()
+ " Available shares: " + getAvailableShares() + " Value per share: " + getValuePerShare()
+ " DateOLU: " + getDateOLU();
}