我已经上了一个课程并想致电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]
我的问题是如何使其打印列表( 服务器选项卡)到"类输出"选项卡(并且不打印地址(?)
很明显,您在服务器控制台选项卡中的输出低于输出,因为该代码是在服务器上执行的,并且您正在打印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(); }
在使用System.out.println(getSharesCollection());
的地方,您在List
上调用toString()
方法。
这就是为您提供[WSpackageWS.TicketInfo@177bea38, ...]
输出的原因。@177bea38
是默认的toString()
实现(对于您的TicketInfo
类)。
为了正确显示输出,您需要从TicketInfo
类中提取所需的数据。
最好的方法是在TicketInfo
中实现(和覆盖)ToString()方法。您可以在getTicketsCollection()
方法中使用System.out.println
的行进行此操作。
现在写入对象的哈希代码正在打印,因为system.out.println(object)调用了您要打印对象的类的toString()。默认情况下,调用了java.lang.Object类的toString()。为了改变它,覆盖了您要打印的对象的类的tostring()。希望它有帮助..