有一种方法可以在Java中迭代对象的成员变量吗? 我有这种情况:
class ItemToUpdateTipo0 {
public String ticker;
public ItemToUpdateTipo0() {
}
public ItemToUpdateTipo0(String ticker) {
this.ticker = ticker;
}
}
public class DataStoreTipo0 {
private Queue <ItemToUpdateTipo0> QueueItemToUpdateTipo0 = new ConcurrentLinkedQueue<ItemToUpdateTipo0>();
...
}
有办法做一些事情:
public static void main(String[] args){
DataStoreTipo0 dataStoreTipo0 = new DataStoreTipo0();
for (ItemToUpdateTipo0 obj : dataStoreTipo0) {
System.out.println(obj.titolo);
}
}
提前致谢。
答案 0 :(得分:3)
让您的类实现Iterable接口以实现此目的。
如,
class DataStoreTipo0 implements Iterable<ItemToUpdateTipo0> {
private Queue<ItemToUpdateTipo0> queueItemToUpdateTipo0 = new ConcurrentLinkedQueue<ItemToUpdateTipo0>();
@Override
public Iterator<ItemToUpdateTipo0> iterator() {
return queueItemToUpdateTipo0.iterator();
}
}
请注意,您需要编辑代码,使其遵循Java命名约定。例如,类应以大写字母开头,而方法和字段应以小写字母开头。您也不想尝试直接访问ItemToUpdateTipo0的字段,而是使用公共getter和可能的setter方法为您执行此操作。