java - 从 Java 中的 void 方法返回值

标签 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");

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

PS:我需要来自 dbQuery() 的值,以便我可以构造另一个查询来再次调用dbQuery()

最佳答案

How do I get the return of a void to use it in another db.dbQuery() ?

“虚空回归”是什么意思?如果您的意思是“返回值”,那么就没有一个 - 这就是将该方法声明为 void 的要点。

如果您想要返回一个值,那么不要将其设置为 void 方法...考虑到:

String temporary_table = db.dbQuery(query,"temp_table");

看起来您只想将 dbQuery 更改为返回 String。请注意,您需要计算出如果什么不是temp_table时返回什么。 (您还应该修复您的异常处理 - 只需将堆栈跟踪打印到标准输出,然后继续不管几乎永远都不是正确的方法。)

关于java - 从 Java 中的 void 方法返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10620473/

相关文章:

java - 将 java 翻译成 c#

Java程序连续发送大量邮件

java.sql.date , java.sql.timestamp 谓词 -> Oracle 分区数据类型

java - 多个数据库的事务管理器

java - Spring Data Repositories - 查找列表中的 where 字段

java - 什么时候加密需要填充?

java - 使用 JdbcTemplate 开始和回滚事务

JavaCPP ValueGetter 与 MemberGetter

java - 使用扫描器类输入数组(错误 : incompatible types: Scanner cannot be converted to String)

java - 如何读取 Java Spring MVC 应用程序中的属性(或任何其他文本)文件?