Java Bound Mismatch Error - LinkedList -


ok interface i'm using.

/* instance of classes realize interface can compared */  public interface comparable<e>  {  /* method compare object argument object  * @param obj - argument object   * @return - returns negative integer if object < obj  */  int compareto(e obj);  

}

then ordered list class.

import java.util.*;  /* class represent ordered list. data stored * in linked list data field */ public class orderedlist<e extends comparable<e>>          implements iterable<e> { /* linked list contain data */ private linkedlist<e> thelist = new linkedlist<e>();  /* insert obj list preserving lists order   * @param pre - items in list ordered  * @param post - obj has been inserted list such   * items still in order  */  public void add(e obj) {     listiterator<e> iter = thelist.listiterator();     // find insertion position , insert     while(iter.hasnext())     {         if(obj.compareto(iter.next()) < 0)         {         // iterator has stepped on first element          // greater element inserted          // move iterator 1         iter.previous();         // insert element         iter.add(obj);         //exit loop , return         return;         }     }     /* assert - items examined , no item larger       * element inserted      * add new item end of list       */     iter.add(obj); }  /* returns element @ specified position */ public e get(int index) {     return thelist.get(index); }  /* returns iterator ordered list */ public iterator<e> iterator() {     return thelist.iterator(); }  /* returns size of list */ public int size() {     return thelist.size(); } } 

and test class problems are.

import java.util.*;  public class testorderedlist  {  /* traverses ordered list , displays each element  * displays , error message if element out of order  * @param testlist - ordered list of integers  */  public static void traverseandshow(orderedlist<integer> testlist) {     int previtem = testlist.get(0);      /* traverse ordered list , display value       * out of order      */     for(int thisitem : testlist)     {         system.out.println(thisitem);          if(previtem > thisitem)             system.out.println("***failed, value " + thisitem);         previtem = thisitem;     } } public static void main(string[] args)  {     orderedlist<integer> testlist = new orderedlist<integer>();     final int max_int = 500;     final int start_size = 100;      // create random generator     random random = new random();     for(int = 0; < start_size; i++)     {         int aninteger = random.nextint(max_int);         testlist.add(aninteger);     }      //add beginning , end of list.     testlist.add(-1);     testlist.add(max_int + 1);     traverseandshow(testlist); // traverse , display  } } 

i'm getting bound mismatch error when try use integer in test class. where's problem ?

you've defined own comparable interface integer not implement. remove custom interface build path built-in java.lang.comparable can used instead


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -