gpt4 book ai didi

Java 数组列表/列表错误

转载 作者:行者123 更新时间:2023-11-29 06:38:42 25 4
gpt4 key购买 nike

我已经标记了给我带来麻烦的行

private void EditButtonActionPerformed(java.awt.event.ActionEvent evt) {                                           

DefaultListModel PatientListModel = new DefaultListModel();

for (Patient s : PatientList) {
int AccNum = Integer.parseInt(IDTextField.getText());

if (AccNum == s.getAccountNumber()) {

s.setName(NameTextField.getText());
s.setAge(Integer.parseInt(AgeTextField.getText()));
s.setAddress(AddressTextField.getText());
String PatientSex = "";

if (MaleRadioButton.isSelected()) {
PatientSex = "Male";
}

if (FemaleRadioButton.isSelected()) {
PatientSex = "Female";
}

s.setSex(PatientSex);
s.setPhone(PhoneTextField.getText());
ArrayList<PatientCondition> PatientConditions3 = new ArrayList();
===> PatientConditions3 = (ArrayList<PatientCondition>) ConditionsJList.getSelectedValuesList(); //error here
s.setConditionsList(PatientConditions3);
PatientInfoLabel2.setText("Patient Details Updated");

for (Patient f : PatientList) {
PatientListModel.addElement(f.getAccountNumber() + "-" + f.getName());
}

PatientJList.setModel(PatientListModel);
UpdateAllViews();

//
}
}
}

错误是:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.util.Collections$EmptyList cannot be cast to java.util.ArrayList

最佳答案

我认为错误消息提供的信息非常丰富。你不能做那个 Actor 。

你应该重新定义你的 PatientConditions3类型为 List<PatientCondition> .针对接口(interface) List 进行编码是一种很好的做法而不是特定的实现,比如 ArrayList .此外,您应该重命名它以遵循 Java 命名约定:

List<PatientCondition> patientConditions3;

如果需要转换收到的List例如 ArrayList ,您可以使用收到的元素创建一个新的 List :

patientConditions3 = new ArrayList<PatientCondition>(ConditionsJList.getSelectedValuesList());

关于Java 数组列表/列表错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15969435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com