java.lang.ClassCastException : java. lang.String 无法转换为 Category 类型

标签 java

我有一个组合框。它有类别名称。所以我需要将字符串传递给类别。 类别类别 = (Category)cmbCategory.getSelectedItem();此行出现错误,指出无法将字符串转换为类别类型..

private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {                                        
    // TODO add your handling code here:
    double amount = Double.parseDouble(txtAmount.getText());
    Expense expense = new Expense();
    expense.setReason(txtReason.getText());
    expense.setAmount(amount);
    DateFormat format = new SimpleDateFormat("MMMM d, yyyy");

    Category category = (Category)cmbCategory.getSelectedItem();
    String startDate = ((JTextField)txtDate.getDateEditor().getUiComponent()).getText();

    try {
        Date date = format.parse(startDate);
        expense.setDate(date);
    } catch (ParseException ex) {
        Logger.getLogger(ExpenseView.class.getName()).log(Level.SEVERE, null, ex);
    }

    expense.setCategory(category);
    ExpenseController.saveExpense(expense);
}          

最佳答案

您似乎正在尝试转换String,然后将其分配给Category

由于 String 显然不是 Category,也不是实现 Category,因此您会收到此异常。

您可以为 Category 类添加一个字符串数据成员,例如 categoryName,然后按如下方式设置:

Category category = new Category().setCategoryName(cmbCategory.getSelectedItem());

关于java.lang.ClassCastException : java. lang.String 无法转换为 Category 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39397980/

相关文章:

java - 为什么手动连接 OSGi 服务不是一个好主意?

java - 无法使用 webdriver 将文件上传到 Box.com

java - apache上传文件大小覆盖org.apache.commons.fileupload.FileUploadBase

java - 文件中字符出现的计数/频率分布,包括不可见的字符

java - 是否可以在独立的 Java 应用程序上实现 JMS、Spring 和 Tibco EMS?

java - 通过java启动和停止mysql

java - java中匿名内部类成员不可访问

java - 无法检测到多个空间?

java - 如何使用泛型获取集合的内容?

java - 使用 JUnit 比较 ArrayList 是否相等的简单方法?