Lista criteria

Preciso pegar os valores negativos da lista, mas esta retornando a mensagem de erro
[color=blue]java.lang.Double cannot be cast to beans.LancamentosCartoes[/color]

o que está errado ? alguem pode ajudar.

[code]session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();

            Criteria criteria = session.createCriteria(LancamentosCartoes.class);
            criteria.add(Restrictions.between("data_compra", data1, data2));
            criteria.add(Expression.eq("fk_cartoes", cartoes.getId()));
            criteria.setProjection(Projections.sum("valor"));
            Double total = (Double) criteria.uniqueResult();

            lista_lancamentos = criteria.list();

            for (int i = 0; i < lista_lancamentos.size(); i++) {
                lancamentoscartoes = lista_lancamentos.get(i);
                if (lancamentoscartoes.getValor() < 0) {
                    JOptionPane.showMessageDialog(null, lancamentoscartoes.getValor());
                }
            }[/code]