2013-03-20 70 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) 
相關問題