如何在Java方法中返回数组

问题描述 投票:0回答:1

我想创建一个返回字符串数组的方法。我尝试了这段代码,但返回T_NazwaJadlospisu数组时遇到问题。

public static String[] listJadlospis() {
    try {
        state = con.createStatement();
        result = state.executeQuery("SELECT NazwaJadlospisu FROM Jadlospis GROUP BY NazwaJadlospisu");
        while (result.next()) {
            Array z = result.getArray("NazwaJadlospisu");
            String[] T_NazwaJadlospisu = (String[]) z.getArray();

            // String T_NazwaJadlospisu =
            // result.getString("NazwaJadlospisu");
            // System.out.println("Jadłospis: " + T_NazwaJadlospisu);
        }
        return T_NazwaJadlospisu;
    } catch (SQLException e) {
        System.err.println("Query error.");
    } catch (NullPointerException e) {
        System.err.println("Element not found.");
    }
}

SQL返回如下:

mysql> SELECT NazwaJadlospisu FROM Jadlospis GROUP BY NazwaJadlospisu;
+-----------------+
| NazwaJadlospisu |
+-----------------+
| dieta 1500 kcal |
| dieta testowa1  |
| test1           |
+-----------------+
3 rows in set (0.00 sec)

关于我做错了什么,以及从方法返回SELECT SQL语句输出的最佳方法是什么的任何提示。预先感谢您的帮助。

java arrays methods
1个回答
1
投票

您可以尝试这样。

public static String[] listJadlospis() {
String[] T_NazwaJadlospisu = null;
    try{
        state = con.createStatement();
        result = state.executeQuery("SELECT NazwaJadlospisu FROM Jadlospis GROUP BY NazwaJadlospisu");
        while(result.next()){
            Array z = result.getArray("NazwaJadlospisu");
            T_NazwaJadlospisu = (String[])z.getArray();

            //String T_NazwaJadlospisu = result.getString("NazwaJadlospisu");
            //System.out.println("Jadłospis: " + T_NazwaJadlospisu);
            }

        }
    catch(SQLException e){
        System.err.println("Query error.");
        }
    catch(NullPointerException e){
        System.err.println("Element not found.");
        }
return T_NazwaJadlospisu;
    }
© www.soinside.com 2019 - 2024. All rights reserved.