【发布时间】:2021-06-22 08:10:47
【问题描述】:
我创建了一个ArrayList,我在其中放置了一些对象。当我创建一个对象时,我可以通过以下方式检索一些信息:
objectX.getActivityName();
我的问题是当我将所有对象放入 ArrayList 时,我无法访问我的 getActivityName 示例:
for (Object temp:tabRegristre) {
System.out.println("TEMPS : " + temp); // I want to show the temp object Activity Name not all the info of the object.
}
是否有任何解决方案可以仅从 for each 循环中显示我的对象的一些信息?而不是打印对象本身?
谢谢!!
【问题讨论】:
-
好吧,如果你想把不同类型的对象放到一个列表中,你可以使用泛型和接口。
-
由于您是对象的
toString()方法的实现者,因此您可以完全控制返回的信息量。 -
为什么
temp输入Object?我希望这不是因为列表中有混合对象,因为那是一个糟糕的设计。那么为什么temp不是tabRegristre包含的对象类型呢? -
不!所有对象都是同一类型。 temp 仅用于打印 arraylist 中的每个对象。我可以用循环打印每个对象。这里没问题。但我想从arraylist 中的每个对象打印一个信息。这是我的问题:(
-
使用
for (MySpecificClass temp:tabRegristre) {...而不是Object。