2014-04-03 128 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

如果您需要更多幫助,請添加評論。 –