0

関数「LookUpTransaction」から戻る前に、次のコードで生成されたリストを文字列として取得したいと考えています。私は何をすべきか。?

public String[] LookUpTransaction() {
        List list=new ArrayList();
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/bank", "root", "root");
            PreparedStatement ps = con
                    .prepareStatement("select accountno,details,amount from transaction");
            rs = ps.executeQuery();
            while(rs.next()){
                list.add(rs.getString(1));
                list.add(rs.getString(2));
                list.add(rs.getString(3));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        String[] strarray = new String[list.size()];
        return list.toArray(strarray);
    }
4

2 に答える 2

0

return Arrays.toString(strarray);この場合、メソッドの戻り値の型を に変更する必要がありますString。つまり、コードを次のように変更する必要があります。

public String LookUpTransaction() {
        List list=new ArrayList();
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/bank", "root", "root");
            PreparedStatement ps = con
                    .prepareStatement("select accountno,details,amount from transaction");
            rs = ps.executeQuery();
            while(rs.next()){
                list.add(rs.getString(1));
                list.add(rs.getString(2));
                list.add(rs.getString(3));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        String[] strarray = new String[list.size()];
        strarray = list.toArray(strarray);
        return Arrays.toString(strarray);
    }

Arrays.toString(strarray)は、指定された配列の内容の文字列表現を返すことに注意してください(strarrayシナリオでは)。文字列表現は、角括弧 ("[]") で囲まれた配列の要素のリストで構成されます。隣接する要素は、文字 ", " (カンマの後にスペースが続く) で区切られます。リストを反復処理して要素を連結する場合は、次のように試すことができます。

 public String LookUpTransaction() {
        List list=new ArrayList();
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/bank", "root", "root");
            PreparedStatement ps = con
                    .prepareStatement("select accountno,details,amount from transaction");
            rs = ps.executeQuery();
            while(rs.next()){
                list.add(rs.getString(1));
                list.add(rs.getString(2));
                list.add(rs.getString(3));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        StringBuilder stringBuilder = new StringBuilder();
        for (String str : list) {
            stringBuilder.append(str);
        }

        return stringBuilder.toString();
    }
于 2013-03-20T05:06:29.760 に答える
0

List.toArray() を使用し、その後に Arrays.toString() を使用します。

String[] y = x.toArray(new String[0]);
Arrays.toString(y)
于 2013-03-20T05:07:26.050 に答える