2013-03-20 71 views
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); 
    } 
+0

取决于如何你想要形成字符串。迭代列表并根据需要形成字符串 – pravat 2013-03-20 05:05:15

+0

所以你只是想打印出来? – Sanchit 2013-03-20 05:05:18

+0

用户名@sanchit希望通过SOAP将返回的字符串携带到JSP页面 – Gops 2013-03-20 05:06:31

回答

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(); 
    } 
0

使用List.toArray(),其次是Arrays.toString(

String[] y = x.toArray(new String[0]); 
Arrays.toString(y) 
相关问题