如何让Java方法返回多个值?

The*_*tor 1 java jdbc

我只是想知道是否有办法让Java方法返回多个值.

我正在创建一个使用jdbc库来处理数据库的应用程序.我可以成功地将值输入到数据库中,但我需要一种方法来返回它们,这就是我有点卡住的地方.我创建一个表单,用户输入一个特定的值(一个ID号),然后由执行我的数据库工作的Database类传递给该表.

Database newQuery = new Database();     
newQuery.getCust(c_ID);         //uses the GetCust method in my class,
                                //passing it the ID of the customer.
Run Code Online (Sandbox Code Playgroud)

我的Database类中的getCust()方法创建以下查询:

ResultSet Customer = stat.executeQuery("SELECT * FROM Persons WHERE Cust_ID=C_ID");
Run Code Online (Sandbox Code Playgroud)

我需要一种方法来返回存储在Customer中的结果.有任何想法吗?

Tin*_*ter 7

为什么不直接返回Customer,或者创建一个包含您想要返回的所有值并返回该类的小类?

  • 因为语言不需要妨碍您的代码,尤其是"更高级别"的语言. (3认同)

小智 7

您无法从Java中的方法返回多个值,但始终可以返回包含多个值的容器对象.在您的情况下,最简单的方法是返回ResultSet,Customer.

如果您担心将数据层暴露给UI,则可以将ResultSet中的数据复制到不太特定于数据库的结构中,可以是List of Maps,也可以是Customer对象列表,其中Custom是代表您的业务实体的新类.