2011-11-11 105 views
0
public void two(final BeanForm[] captureddata) 
{ 
    for (BeanForm form : captureddata) 
    { 
    if (form.getCyclicType() != null) 
    { 
     logger.info("The Cyclic Type is"+ form.getCyclicType().value()); 
    } 

    if (form.getTicketType() != null) 
    { 
     logger.info("The Ticket Type is"+ form.getTicketType().value()); 
    } 
    } 
} 

上面的代碼工作正常,但輸出什麼,我可以在日誌文件中看到的是(萬一BeanForm的長度爲2)的java:如何獲得內部細節在for循環

11/Nov/2011 20:15:51 - The Cyclic Type is DTI 
11/Nov/2011 20:15:51 - The Ticket Type is MMTS 
11/Nov/2011 20:15:51 - The Cyclic Type is DTI 
11/Nov/2011 20:15:51 - The Ticket Type is MMTS 

我只是想知道是否有可能獲得陣列細節也一樣,到陣列這個數據屬於 例如

The array[1] Cyclic Type is DTI 
The array[2] Cyclic Type is SAG 
+0

你不得不改變你的循環使用一個index.By方式;數組索引從0開始,而不是1. –

回答

2

只需使用一個外部計數:

public void two(final BeanForm[] captureddata) 
{ 
    int count = 0; 

    for (BeanForm form : captureddata) 
    { 
    if (form.getCyclicType() != null) 
    { 
     logger.info(count + " The Cyclic Type is"+ form.getCyclicType().value()); 
    } 

    if (form.getTicketType() != null) 
    { 
     logger.info(count + " The Ticket Type is"+ form.getTicketType().value()); 
    } 

    count++; 
    } 
} 

或作爲一個正常的循環

public void two(final BeanForm[] captureddata) 
{ 
    for (int i=0; i<captureddata.length; i++) 
    { 
    BeanForm form = capturedata[i]; 

    if (form.getCyclicType() != null) 
    { 
     logger.info(i+ " The Cyclic Type is"+ form.getCyclicType().value()); 
    } 

    if (form.getTicketType() != null) 
    { 
     logger.info(i+ " The Ticket Type is"+ form.getTicketType().value()); 
    } 
    } 
} 
2

如果你指的是指數進入循環 - 沒有。你需要做的是明確的:

for (int i = 0; i < capturedData.length; i++) 
{ 
    BeanForm form = capturedData[i]; 
    // Now you have both form and i. 
} 
0

一種可能的方法是保持在for循環的計數器,您可以用[]數組,像一起使用計數器:

int i=0; 
for-each loop 
{ 
    //print array[i] 
    //increment i 
} 
0
public void two(final BeanForm[] captureddata) 
{ 
    for (i = 0; i < captureddata.length(); i++) { 
     BeanForm form = captureddata[i] 
     if (form.getCyclicType() != null) 
     { 
      logger.info("The array["+i+"] Cyclic Type is"+ form.getCyclicType().value()); 
     } 

     if (form.getTicketType() != null) 
     { 
      logger.info("The array["+i+"] Ticket Type is"+ form.getTicketType().value()); 
     } 
    } 
} 
0

與Matthew的解決方案 一致,只需使用另一個計數編號並在循環結束時增加一個增量。

然而,在日誌文件中,不介意你是否希望開始與「數組[0]」或「陣列[1]」

+0

非常感謝,你們的人總是像平常一樣有幫助。這個stackoverflow網站一直是開發者的天堂。 – Pawan