Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将列表转换为字符串,然后返回_Java - Fatal编程技术网

Java 将列表转换为字符串,然后返回

Java 将列表转换为字符串,然后返回,java,Java,我想在函数“LookUpTransaction”返回之前,将以下代码中生成的列表作为字符串获取。我该怎么办 public String[] LookUpTransaction() { List list=new ArrayList(); try { Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection(

我想在函数“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);
    }

您可以使用
返回数组.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)