title: Generics - ClassCastException while iterating a ArrayList
body: <p>Following is my code. I am querying the user_group table and getting the result in a List. I want to iterate the List. But getting the exception as follows.</p>
  
  <pre><code>    List&lt;Group&gt; list= empDAO.getStudentList();
      for(Group o :list){
          System.out.println("NAME :"+ o.getFirstName());
      }
  </code></pre>
  
  <p>this is my DAO method</p>
  
  <pre><code>public List&lt;Group&gt; getStudentList() {
      System.out.println("INSIDE DAO");
      List&lt;Group&gt; groups = new ArrayList&lt;Group&gt;();
  
      List&lt;Group&gt; rows = jdbcTemplate.queryForList("select * from user_group");
  
      return rows;
  }   
  </code></pre>
  
  <p>Group.class</p>
  
  <pre><code>public class Group {
      public Group() {
          // TODO Auto-generated constructor stub
      }
  
      private String firstName;
  
      public String getFirstName() {
          return firstName;
      }
  
      public void setFirstName(String firstName) {
          this.firstName = firstName;
      }
  }
  </code></pre>
  
  <p>I am getting the following exception</p>
  
  <pre><code>Aug 3, 2012 9:22:47 PM org.apache.catalina.core.StandardWrapperValve invoke
  SEVERE: Servlet.service() for servlet mvc-dispatcher threw exception
  java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.common.form.Group
          at com.common.controller.HelloWorldController.helloWorld(HelloWorldController.java:28)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:597)
          at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:421)
          at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:136)
          at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:326)
          at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:313)
          at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
          at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
          at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
          at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
          at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
          at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
          at java.lang.Thread.run(Thread.java:619)
  </code></pre>
  
  <p>Can anyone please tell how to fix this error?</p>