【问题标题】:Error : java.util.ArrayList cannot be cast to java.lang.String [closed]错误:java.util.ArrayList 无法转换为 java.lang.String [关闭]
【发布时间】:2017-03-29 17:59:50
【问题描述】:

当我运行我的操作时,我遇到了错误: “ java.util.ArrayList 不能转换为 java.lang.String ”

这是我的代码:

 textField_1 = new JTextField();
       textField_1.addActionListener(new ActionListener() {
           public void actionPerformed(ActionEvent e) {
           Object selected = list_1.getSelectedValue();
            Connection conn = null;
            PreparedStatement stmt = null;
            String a =null;
         try{

   conn=DriverManager.getConnection("jdbc:mysql://localhost/flyer","root","000");
   String query= " INSERT INTO flyer_item (discount)  SELECT price * ? FROM `item` WHERE item_name = `?` ";
   Statement st= conn.createStatement();

   java.sql.PreparedStatement ps = conn.prepareStatement(query);
                        ps.setString(1,a);
                        ps.setString(2,(String) selected);
                        ps.executeUpdate();
                        st.executeUpdate(query);


                    } catch (SQLException se){
                        System.out.println(se.getMessage());

                    } }} );

有什么帮助吗?

【问题讨论】:

    标签: java mysql sql eclipse interface


    【解决方案1】:

    Here Selected 是一个数组列表,您正在尝试将其转换为不可能的字符串:

    ps.setString(2,(String) selected);
    

    你应该怎么做?

    ps.setString(2, selected.tostring());
    

    【讨论】:

    • 非常感谢您的回答!
    • 很高兴帮助你..我可以得到一些喜欢..
    【解决方案2】:

    你确定这条线吗?

           Object selected = list_1.getSelectedValue();
    

    在强制转换之前确保 selected 是一个字符串。您可以使用 instanceof 运算符来检查对象类型。

    【讨论】:

    • 是的,你是对的,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2014-03-16
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    相关资源
    最近更新 更多