KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > uk > co > jezuk > mango > iterators > StringIterator


1 package uk.co.jezuk.mango.iterators;
2
3 /**
4  *
5  * @author jez@jezuk.co.uk
6  */

7 public class StringIterator implements java.util.Iterator JavaDoc
8 {
9     public StringIterator(String JavaDoc s)
10     {
11         s_ = s;
12         if((s_ != null) && (s_.length() > 0))
13             pos_ = 0;
14     } // StringIterator
15

16   public boolean hasNext()
17   {
18     return (pos_ != -1);
19   } // hasNext
20

21   public Object JavaDoc next()
22   {
23         String JavaDoc c = s_.substring(pos_, pos_+1);
24         if(++pos_ == s_.length())
25             pos_ = -1;
26         return c;
27   } // next
28

29   public void remove()
30   {
31     throw new UnsupportedOperationException JavaDoc("uk.co.jezuk.mango.StringIterator does not support the remove method. In fact it's probably a logic error that you called it at all. Strings are immutable");
32   } // remove
33

34     private String JavaDoc s_;
35     private int pos_ = -1;
36 } // StringIterator
37
Popular Tags