【问题标题】:How to cast a ComboBox.SelectedItem() to int?如何将 ComboBox.SelectedItem() 转换为 int?
【发布时间】:2012-05-25 09:30:43
【问题描述】:

我尝试将 ComboBox.SelectedItem() 强制转换为 int,但它不起作用。我知道 ComboBox.SelectedItem() 具有 String 类型,我将其转换为:

 int idprovider = ((Integer)IdProviderComboBox.getSelectedItem()).intValue();

但我得到了错误: java.lang.ClassCastException: java.lang.String 不能转换为 java.lang.Integer

也许有人有想法。 谢谢!

【问题讨论】:

    标签: java casting


    【解决方案1】:

    您正在将 String 转换为 Integer,因此它会抛出 ClassCastException,要从 String 中获取 int,请使用以下方法之一:

    更新:

    JComboBox.getSelectedItem() 将返回您的对象,以将其转换为 int 使用:

    int idprovider = Integer.valueOf((String)IdProviderComboBox.getSelectedItem()); // Internally calls parseInt, returns Integer, Java converts it to int for you.
    
    int idprovider = Integer.parseInt((String)IdProviderComboBox.getSelectedItem()); // Since you need int use this better
    

    【讨论】:

    • 我试过你的方法@mprabhat,但我得到这个错误 java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: java.lang.Integer.valueOf
    • 我也尝试过使用 parseInt,并且在写入演员表的行的开头@mprabhat,出现错误找不到适合 parseInt(java.lang.Object) 的方法。方法 java.lang.Integer.parseInt(java.lang.String) 不适用 - 无法通过方法调用转换将实际参数 java.lang.Object 转换为 java.lang.String。当我运行程序时,出现错误 java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: java.lang.Integer.parseInt
    猜你喜欢
    • 2014-05-22
    • 1970-01-01
    • 2020-07-17
    • 2013-04-18
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多