【问题标题】:Efficient way ResultSet GetString with isEmpty check Java使用isEmpty检查Java的高效方法ResultSet GetString
【发布时间】:2020-04-13 20:37:41
【问题描述】:

Approach-1 中执行 rs.getString("COL_NAME") 两次(进程冗余)。

//Approach 1
if (!StringUtils.isEmpty(rs.getString("COL_NAME"))) {
 testData.setTestNumber(rs.getString("COL_NAME").trim());
}

Approach-2中我们初始化一个字符串(mmy初始化)。

//Approach 2
String value = rs.getString("COL_NAME");
if (!StringUtils.isEmpty(value)) {
 testData.setTestNumber(value.trim());
}

哪种方法最有效? 有没有其他更好的方法来进行空值检查并有效地执行操作。

【问题讨论】:

  • 方法不调用两次当然效率更高。

标签: java jdbc resultset


【解决方案1】:

显然更有效地避免重复调用ResultSet

在您的示例代码中,效率不太可能成为问题。在那里,任何戏剧性的效率突破都没有捷径可走。因此,最好通过将数据库检索代码与其他业务逻辑分开来使您的代码更易于阅读和维护。

所以从你的数据库中获取值。

String customerName = myResultSet.getString( "cust_name_" ) ;

如果合适的话,做一个基本的空检查。

String customerName = Objects.requireNonNull( myResultSet.getString( "cust_name_" ) ) ;

然后执行您的业务逻辑。不需要 StringUtils 库。 String 类的现代版本提供了 isBlankisEmpty 方法。

if ( customerName.isEmpty() || customerName.isBlank() ) {…}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-16
    • 2023-03-20
    • 2015-09-09
    • 2011-11-22
    • 1970-01-01
    • 2014-01-17
    相关资源
    最近更新 更多