如何将对象转换为字符串?

时间:2011-06-18 10:55:02

标签: string object jframe tostring

我有这个问题将对象转换为字符串...我使用toString()函数...并且因为对象转换为字符串在try{}catch(exception e){}内,我继续接收输出错误:For input string: ""

如果我继续收到类似的错误消息应该是什么问题?

更详细说明:

  1. 对象来自jComboBox 它包含来自a的项目 数据库中。
  2. 我使用的是JFrame表单而不是 Java类。
  3. 我想做的就是从碰巧是对象的JComboBox中捕获所选择的项目。然后捕获它。我将在数据库中使用我的查询值。

    这是我的代码(部分):

    private void SUBMITActionPerformed(java.awt.event.ActionEvent evt) {                                       
        try {
            Class.forName(Connect.DRIVER);
            Connection con = DriverManager.getConnection(Connect.CONNECTION_STRING,
                    Connect.USERNAME, Connect.PASSWORD);
    
            Object obj = jComboBox1.getSelectedItem();
            String item_name = obj.toString();
    
            int month = jMonthChooser.getMonth();
            int q_box = Integer.parseInt(quantity_box_txtbox.getText());
            double unit_price_box = 0;
            int q_pc = Integer.parseInt(quantity_pc_txtbox.getText());
            double unit_price_pc = 0;
            double sub_total_box = 0;
            double sub_total_pc = 0;
            double grand_total = 0;
    
            //Testing
            System.out.println(jMonthChooser.getMonth());
            System.out.println(item_name);
    
        } catch (Exception e) {
            System.out.println("Error: "+e.getMessage());
        }
    }           
    

    如果您对我解释问题的方式有任何不明白的地方,请告诉我......我会尽力详细说明。

    提前致谢。

    :)

    这是完整的错误:

    Error: java.lang.NumberFormatException : For input string: ""
    

1 个答案:

答案 0 :(得分:3)

嗯,首先:

  • 不要只抓住Exception;捕获特定的子类
  • 不要只是抓住例外;你几乎肯定想把它传播给来电者
  • 不要只记录消息 - 记录整个异常,包括堆栈跟踪和异常类型。

异常看起来像是在尝试解析字符串 - 而不是试图将对象转换为字符串。我强烈怀疑问题是这些问题之一:

int q_box = Integer.parseInt(quantity_box_txtbox.getText());
int q_pc = Integer.parseInt(quantity_pc_txtbox.getText());

我的猜测是其中一个文本框是空的 - 所以你实际上是在调用失败的Integer.parseInt("")