No offense guys, but the for and while loop approach is identical. I use
the for loop, but it gets compiled into the same jvm code. 

Looking at the original do/while code, it looks ok. I'd be surprised if
the for approach works, but it's probably worth a shot since it will
only take a couple of minutes to try...

Frank Russo
Senior Developer
FX Alliance, LLC


-----Original Message-----
From: Raj Saini [mailto:[EMAIL PROTECTED] 
Sent: Friday, April 21, 2006 8:03 AM
To: MyFaces Discussion
Subject: Re: getChildren().iterator() problem

Better approach is to use for loop.

for (Iterator kids = myComponent.getChildren().iterator();
kids.hasNext();) {
  UIComponent child = (UIComponent)kids.next();
  ...
}

On 4/21/06, Jesse Alexander (KSFD 121)
<[EMAIL PROTECTED]> wrote:
>
> I usually prefer the while-loop for this kind of operation:
>
>
> Iterator kids = myComponent.getChildren().iterator();
>
> while (kids.hasNext()) {
>   UIComponent child = (UIComponent)kids.next();
>   ...
> }
>
> hth
> Alexander
>
>
>  ________________________________
>  From: arti [mailto:[EMAIL PROTECTED]
> Sent: Friday, April 21, 2006 12:25 PM
> To: MyFaces Discussion
> Subject: getChildren().iterator() problem
>
>
>
> Hi,
>
> I am facing a problem with getChildren().iterator(). (using
> getChildren().listIterator() works perfect)  Why?
>
> My custom table component has just one child column element in it.
>
> But still the iterator obtained as mentioned above, enters the 
> following loop twice and second time throws NullPointerException
>
>     Iterator kids = myComponent.getChildren().iterator();
>     if (kids.hasnext()) {
>         do {
>             UICompoment child = kids.next();            // this line
throws
> NullPointerException when executed second time in loop
>             /* some code here */
>         } while (kids.hasnext());
>     }
>
> Thanks
> Arti
>
>



Reply via email to