3

Hi i have an ArrayList which generic type is Bean class type. When I try to get data from the ArrayList I am getting an Exception.

Here is the code:

ArrayList<IRUserSegment> segments = (ArrayList<IRUserSegment>) userSegmentDAO.getDateWiseCount(org.getOrgId());
System.out.println("List size"+segments.size());
//  IRUserSegment itr=segments.get(1);//getting Iterator from arraylist to traverse elements  
for (int i = 0; i < segments.size(); i++) {
    IRUserSegment value = segments.get(i);
    System.out.println("Element: " + value.getCount());
}

DAO CODE public List getDateWiseCount(Integer orgId) {

        IRUserSegment usersegment = null;

        try
        {

            q.append("SELECT count(*) as cnt, date(updatedOn) as updatedOnDate FROM t_user_segment WHERE updatedOn >= DATE_SUB(CURRENT_DATE, INTERVAL 15 DAY) group by updatedOnDate;");
            SQLQuery query = session.createSQLQuery(q.toString());
             segmentList = (List<IRUserSegment>) query.list();

            //ArrayList<IRUserSegment> details=(ArrayList<IRUserSegment>) 
            if (segmentList != null && segmentList.size() > 0)
            {
                List<Object[]> result = query.list();

                for (Object[] object : result)
                {
                    System.out.println("Count"+object[0].toString()+"date"+object[1].toString());
                }

                return segmentList;
            }

        }

        catch (Exception e)
        {
            log.error("", e);
        }
        return segmentList;

    }
4
  • Please show the exception stacktrace, and which line throws it. My guess is userSegmentDAO.getDateWiseCount() returns a List of things that aren't IRUserSegment. Commented Nov 9, 2015 at 11:01
  • That's a casting error ,the function return type can't be casted to (ArrayList<IRUserSegment>) , please put your function getDateWiseCount code Commented Nov 9, 2015 at 11:02
  • you cannot cast any return type from userSegmentDAO.getDateWiseCount(org.getOrgId()) to Arraylist,If possible please share the code for userSegmentDAO.getDateWiseCount() Commented Nov 9, 2015 at 11:22
  • Dark Army : i have shared code there Commented Nov 9, 2015 at 11:25

1 Answer 1

0

Try using like this.

List segments = userSegmentDAO.getDateWiseCount(org.getOrgId());
System.out.println("List size"+segments.size());
//  IRUserSegment itr=segments.get(1);//getting Iterator from arraylist to traverse elements  
for (int i = 0; i < segments.size(); i++) {
    IRUserSegment value = (IRUserSegment)segments.get(i);
    System.out.println("Element: " + value.getCount());
}

or you modify your method as

public List<IRUserSegment> getDateWiseCount(Integer orgId) {}

instead of

public List getDateWiseCount(Integer orgId) {}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.