我有一个从sql数据库读取的代码,并将每列信息保存到ArrayList中.我需要将每个ArrayList传递到一个单独的类中,我可以将列表存储为单个信息(IE:ArrayList1的第一部分中的信息与ArrayList2等的第一部分中的信息一起),然后进行排序.我不知道如何将这些信息传递给另一个课程.这是我的主要方法的一部分,将信息存储到列表中.我需要这个信息传递给一个名为List.
java的单独的类:
String SelectStatement1 = "SELECT InvoiceID FROM Invoice;"; ps = conn.prepareStatement(SelectStatement1); rs = ps.executeQuery(); int count = 0; while (rs.next()){ count++; } ps.close(); ps = conn.prepareStatement(SelectStatement1); rs = ps.executeQuery(); ArrayList<String> InvoiceIDList = new ArrayList<String>(); String InvoiceID = null; int p = 0; while (p < count){ rs.next(); InvoiceID = rs.getString("InvoiceID"); InvoiceIDList.add(InvoiceID); p++; } ps.close(); p = 0;
编辑:这只是我代码的一部分,我已经有代码打开和关闭连接,我只需要有关如何将ArrayList传递给另一个类进行排序的信息.
解决方法
在其他类中创建一个方法,如下所示:
public void receiveList (ArrayList<String> invoiceIDList) { // Do something with invoiceIDList data }
在“List”类中创建一个构造函数可能不是一个坏主意,它接受ArrayList并创建具有所需数据的类实例
另请更改该类的名称!对于读取你的代码的人来说,这是一个令人困惑的事情,因为你已经传递了一个ArrayList!
编辑:
您还可以让您的类实现List接口,这将使您的事情变得更加容易,因为您可以根据ArrayList中的数据位置将数据插入到类中.
public class yourClass implements List<String> { // Your class methods and variables... }
如果你想扩展这个以允许不仅仅是Strings,你可以改为:List< T>,这将给你一个更通用的方法.