2012-01-29 4 views
2

Java에서 객체의 멤버 변수를 반복하는 방법이 있습니까? 내가이 시나리오가 : 사전에클래스의 멤버 인 경우 Java 반복 큐

public static void main(String[] args){ 
    DataStoreTipo0 dataStoreTipo0 = new DataStoreTipo0(); 

    for (ItemToUpdateTipo0 obj : dataStoreTipo0) { 
    System.out.println(obj.titolo);   
    } 
} 

감사 : 같은 것을 할 수있는 방법이

class ItemToUpdateTipo0 {   
    public String  ticker; 

    public ItemToUpdateTipo0() { 
    } 

    public ItemToUpdateTipo0(String ticker) { 
    this.ticker = ticker; 
    } 
} 


public class DataStoreTipo0 {   
    private Queue <ItemToUpdateTipo0> QueueItemToUpdateTipo0 = new ConcurrentLinkedQueue<ItemToUpdateTipo0>(); 
    ... 
} 

의를.

+0

확실히; 반사. 당신의 목표는 무엇입니까? –

+0

QueueItemToUpdateTipo0 – famedoro

+0

에있는 항목의 값을 참조하십시오. 나는 오히려 "컬렉션의 요소 반복"이 아니라 "자바에서 객체의 멤버 변수 반복"('ticker')을 의미한다고 생각했습니다. –

답변

3

이 클래스가 작동하도록 Iterable 인터페이스를 구현하도록하십시오. 예를 들어,

, 그것은 자바 명명 규칙을 따르는 있도록 코드를 편집 할 수 있습니다

class DataStoreTipo0 implements Iterable<ItemToUpdateTipo0> { 
    private Queue<ItemToUpdateTipo0> queueItemToUpdateTipo0 = new ConcurrentLinkedQueue<ItemToUpdateTipo0>(); 

    @Override 
    public Iterator<ItemToUpdateTipo0> iterator() { 
     return queueItemToUpdateTipo0.iterator(); 
    } 
} 

참고. 예를 들어 클래스는 대문자로 시작해야하고 메소드와 필드는 소문자로 시작해야합니다. ItemToUpdateTipo0의 필드에 직접 액세스하려고하지 않고 공용 getter 및 setter 메서드를 사용하여이 작업을 수행 할 수도 있습니다.

+0

어떻게 이런 식으로 사용할 수 있습니다 : public static void main (String [] args) { DataStoreTipo0 dataStoreTipo0 = new DataStoreTipo0(); (ItemToUpdateTipo0 obj : dataStoreTipo0) ​​{ System.out.println (obj.titolo); } } – famedoro

+0

방금 ​​권장 한 것을 구현해 보셨습니까? 코드 예제를 게시했습니다. –

+0

감사합니다. 작품입니다! – famedoro

관련 문제