,java,generics"/>

首页 > 解决方案 > 如何返回以下类型的列表“列表" 将另一个对象添加到此列表

问题描述

我正在学习尝试返回时出现问题的 JDBC 概念List。我不能有发票列表,类型必须是List。请帮助我。发生以下错误“add(List)类型List<List>中的方法不适用于参数(Invoice)”

List<List> invoiceGroupByCustomer() throws SQLException {
        List<List> list = new ArrayList<List>();
        String query1 = "select customer_name,sum(total_amount),sum(balance) from invoice GROUP BY customer_name ORDER BY customer_name";
        try
        {
            DbConnection obj = new DbConnection();
            Connection con = obj.getConnection(); 
            Statement st = con.createStatement();
            ResultSet rs = st.executeQuery(query1);
            while(rs.next())
            {   
                Invoice invoiceobj = new Invoice();
                invoiceobj.setCustomerName(rs.getString("customer_name"));
                invoiceobj.setTotalAmount(rs.getDouble("sum(total_amount)"));
                invoiceobj.setBalance(rs.getDouble("sum(balance)"));    
                list.add(invoiceobj);
            }

        }catch(Exception e)
        {
            e.printStackTrace();
        }
        return list;

    }

标签: javagenerics

解决方案


List<List> list = new ArrayList<List>();

您必须将“列表对象”放在列表的每个索引中,因为您拥有列表列表。

换行

list.add(invoiceobj);

list.add(Arrays.asList(invoiceobj));

希望它会奏效。

或者您可以将方法返回类型从List<List>to更改为List并返回相同的对象。


推荐阅读