从Java中的void方法返回值

puf*_*fos 0 java

我有一个方法:

public void dbQuery(String query, String what) {
    try {
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery(query);

        if(what.equals("temp_table")) {
            String temporary_table = rs.getString("table_name_temp");
            System.out.println(temporary_table);
            return;
        }

        }

    catch (Exception e) {
        e.printStackTrace();
        }

    finally {
        if (rs != null) rs.close();
        if (stmt != null) stmt.close();
        }

}



String query = "EXEC temptables.dbo.create_temp_cdr 'SIP'";
String temporary_table = db.dbQuery(query,"temp_table");
Run Code Online (Sandbox Code Playgroud)

如何获得a的返回void以在另一个中使用它db.dbQuery()

PS:我需要一个值,dbQuery()所以我可以构建另一个再次query调用dbQuery()

Jon*_*eet 9

如何获取void的返回以在另一个db.dbQuery()中使用它?

"虚空的回归"是什么意思?如果你的意思是"返回值",那么就没有一个 - 这就是声明方法的重点void.

如果你返回一个值,那么不要把它变成一个void方法...给定:

String temporary_table = db.dbQuery(query,"temp_table");
Run Code Online (Sandbox Code Playgroud)

看起来你只想改变dbQuery回归String.请注意,如果what 不是 ,您需要确定要返回的内容temp_table.(您还应该修复异常处理 - 只需将堆栈跟踪打印到stdout,然后继续,无论几乎都不是正确的方法.)

  • @pufos:我现在能做的最有用的事情就是尽我所能说服你*不要*继续研究这段代码而不阅读有关Java的书籍或教程.如果"更改方法使其具有返回类型的String"不够清楚,那么只需提供代码只会帮助您大约5分钟,然后才能找到您不理解的下一部分Java.**正确学习语言.** (4认同)
  • 男人,我来自PHP,现在... java正在我的脑海里......:| (2认同)