2014-04-03 126 views
-1

我有一个方法可以生成并返回一个ArrayList。我怎样才能从其他类打印ArrayList?如何打印返回ArrayList?

public ArrayList<Printer> selectAllePrinters() { 
    ArrayList<Printer> printers = new ArrayList<>(); 
    try { 
     Connection con = SimpleDataSource.getConnection(); 
     PreparedStatement stat = con.prepareStatement("SELECT * FROM printer;"); 
     ResultSet result = stat.executeQuery(); 
     while (result.next()) { 
      Printer printer = new Printer(); 
      printer.setPrinterid(result.getString("printerid")); 
      printer.setNaam(result.getString("printernaam")); 
      printer.setAantalKl(result.getInt("aantalkleur")); 
      printer.setAantalZw(result.getInt("aantalzwart")); 
     } 
     result.close(); 
     stat.close(); 
     return printers; 
    } catch (SQLException e) { 
     System.out.println(e); 
     return null; 
    } 
} 

在此先感谢!

+1

你试过System.out.println()吗? – azurefrog

+5

此外,用你的代码,你永远不会添加元素到ArrayList'打印机'。所以你回来了一个空的Arraylist。 – AntonH

+0

是的,也尝试了toString()方法。 – user3190748

回答

0

在您的方法中,将新打印机添加到数组列表。

while (result.next()) { 
    Printer printer = new Printer(); 
    printer.setPrinterid(result.getString("printerid")); 
    printer.setNaam(result.getString("printernaam")); 
    printer.setAantalKl(result.getInt("aantalkleur")); 
    printer.setAantalZw(result.getInt("aantalzwart")); 
    printers.add(printer); // Adds the printer to the arraylist. 
} 

然后打印出来。

System.out.println(selectAllePrinters()); 
+0

非常感谢!我一直在盲目地复制方法。我甚至没有注意到我试图打印一个空的ArrayList。 – user3190748

+0

如果您需要更多帮助,请添加评论。 –