Java 将列表转换为字符串,然后返回
我想在函数“LookUpTransaction”返回之前,将以下代码中生成的列表作为字符串获取。我该怎么办Java 将列表转换为字符串,然后返回,java,Java,我想在函数“LookUpTransaction”返回之前,将以下代码中生成的列表作为字符串获取。我该怎么办 public String[] LookUpTransaction() { List list=new ArrayList(); try { Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection(
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);
}
您可以使用
返回数组.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();
}
使用List.toArray(),后跟Arrays.toString()
取决于您希望如何形成字符串。迭代列表并根据需要形成字符串,所以您只想将其打印出来?username@sanchit希望通过SOAP将返回的字符串带到JSP页面,这在该函数之外发生,不是吗?这个函数很好,它将返回一个字符串数组。现在你可以用它做你想做的事情了,也可以把它发送到你的JSP页面。我只看到数组,而不是
列表。无论哪种方式,您都会使用结果的字符串来做什么?我看不到任何适合的地方,除非您想更改方法的返回类型。。。
String[] y = x.toArray(new String[0]);
Arrays.toString(y)