当前位置: 首页 > 知识库问答 >
问题:

如何处理输入字符串“”的错误号格式异常

施昊然
2023-03-14

我正在用一种形式做一个简单的插入。

  1. no_text

dbname_m_db

我想回去看看。所以我要做4个测试,它们是

测试1:插入no_text

测试2:插入no_text_external

测试3:不插入任何文本

测试4:不同时插入两个

所以结果是,只有test3是成功地查看它。而其他3返回错误号格式例外:对于输入字符串:""。我不知道过滤它的最佳方法。这里的代码,我的工作。任何想法?

    public void getDataById(Connection con){

    try{
        ps = con.createStatement();

        rs = ps.executeQuery("SELECT * FROM "+ dbname_m_db +" WHERE id_m_db ='"+ this.getId_m_db() +"' AND status_data ='1'");

        while (rs.next()) {
            this.setNo_text(rs.getString("no_text"));
            this.setNo_text_external(rs.getString("no_text_external"));
        }
            int int_no_text = Integer.valueOf(this.getNo_text());
            int int_no_text_external = Integer.valueOf(this.getNo_text_external());
            this.setNo_text_value(au.getTextById(con, int_no_text));
            this.setNo_text_external_value(au.getTextExternalById(con, int_no_text_external));

    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}

共有2个答案

澹台景辉
2023-03-14

当从表中获取整数值时,看起来像是传递了一个空字符串。在将其转换为int之前,我会检查以确保您从表中获得了理论收益

须志新
2023-03-14

为了处理NumberFormatException错误,您应该在执行Integer之前验证字符串。valueOf()

您可以验证字符串是否为空:

int int_no_text;

if (!this.getNo_text().isEmpty) {
    int_no_text = Integer.valueOf(this.getNo_text());
}

老实说,我并不喜欢这种方法,因为我们既不验证字符串是否为null,也不验证它是否包含整数。

因此,我们可以使用一个非常好的实用程序类,NumberUtils,并验证我们是否存在一个数字:

int int_no_text;

if (NumberUtils.isNumber(this.getNo_text())) {
    int_no_text = Integer.valueOf(this.getNo_text());
}

基本上,这种方式检查字符串是否是有效的Java数字,因此null和空/空字符串将返回false。

 类似资料:
  • 问题内容: 使用uCanaccess检索保存在桌面中的数据库时出现错误。 我的代码如下: 导入java.util.Scanner; 导入java.sql。*; 公共类dbTest1 { } 我将很乐意为您解决此错误提供任何建议。 谢谢,文斯 问题答案: 好吧,首先,导入您的库(lib文件夹中的jar文件)。http://sourceforge.net/projects/ucanaccess/fil

  • 我是C#的新手,我有一些Java方面的基础知识,但我不能让这段代码正常运行。 它只是一个基本的计算器,但当我运行程序时,VS2008给了我这个错误: 我做了几乎相同的程序,但在Java使用的是JSwing,它运行得非常好。 下面是C#的形式: 会有什么问题?有没有办法解决? PS:我也试过 但没有奏效。

  • 问题内容: 我想用Java初始化一个String,但是该字符串需要包含引号;例如:。我试着做: 但这不起作用。如何”在字符串中包含? 问题答案: 在Java中,你可以使用:

  • 我已经在我的应用程序中编辑文本以操纵产品数量,但是如果我要更改数量,那么问题就是在那个时候获得NPE。要更改编辑文本中的数量,我需要删除现有内容并需要添加新数量,请检查以下代码

  • 问题内容: 我想将焦点放在插入符的样式上。具体来说,颜色和厚度。 问题答案: 如果您使用的是Webkit浏览器,则可以通过遵循下一个CSS代码段来更改插入符号的颜色。我不确定是否可以使用CSS更改格式。

  • 我尝试通过构建服务器和数据库 下面是我的 如果有人有意见,请告诉我。 谢谢