Java将对象转换为类型?
我想在JList中选择患者已经点击的特定项目。如果我单击第三位患者,JList将选择患者选择的项目 在PatientConList中是该患者的条件对象 添加患者时,请执行以下操作:Java将对象转换为类型?,java,Java,我想在JList中选择患者已经点击的特定项目。如果我单击第三位患者,JList将选择患者选择的项目 在PatientConList中是该患者的条件对象 添加患者时,请执行以下操作: List PatientConditions1 = new ArrayList(); PatientConditions1 = ConditionsJList.getSelectedValuesList(); 然后当您单击患者时,它会执行此操作 public void MakePatientJListSelect
List PatientConditions1 = new ArrayList();
PatientConditions1 = ConditionsJList.getSelectedValuesList();
然后当您单击患者时,它会执行此操作
public void MakePatientJListSelected(ArrayList PatientConList) {
//this makes selected, so get condition array off patient.
//so call this from patient jlist listener
ConditionsJList.clearSelection();
//get number - 1, so then 0 = first
ArrayList<Conditions> PassedIn = PatientConList;
ArrayList SelectList = new ArrayList();
for(Conditions p: PassedIn)
{
int Num = p.getNumber();
Num = Num - 1;
SelectList.add(Num);
}
//int startSel = 0;
//int endSel = 0;
//ConditionsJList.setSelectionInterval(startSel, endSel);
for(int k=0;k<PassedIn.size();k++)
{
int startSel2 = k;
int endSel2 = k;
ConditionsJList.addSelectionInterval(startSel2, endSel2);
}
}
我怀疑您通过的列表是一个字符串列表,而不是您在此假设的条件列表:
for(Conditions p: PassedIn)
然而,你给我们的东西很少。完整的错误消息是什么
另外,尝试将
MakePatientJListSelected
的类型更改为ArrayList
。我想你会发现编译器会告诉你它需要一个ArrayList
。我怀疑你传递的列表是一个字符串列表,而不是你在这里假设的条件列表:
for(Conditions p: PassedIn)
然而,你给我们的东西很少。完整的错误消息是什么
另外,尝试将
MakePatientJListSelected
的类型更改为ArrayList
。我想你会发现编译器会告诉你它需要一个ArrayList
。你的方法需要输入ArrayList,你必须向下转换它
ArrayList<Conditions> PassedIn = (ArrayList<Conditions>)PatientConList;
ArrayList PassedIn=(ArrayList)PatientConList;
您的方法获取输入数组列表,您必须向下转换它
ArrayList<Conditions> PassedIn = (ArrayList<Conditions>)PatientConList;
ArrayList PassedIn=(ArrayList)PatientConList;
您在哪一行得到该异常?这就是为什么您应该使用泛型。。。如果不使用原始类型,则在编译时会出现此错误。它在第一个for循环中出现!你在哪一行得到这个异常?这就是为什么你应该使用泛型。。。如果不使用原始类型,则在编译时会出现此错误。它在第一个for循环中出现!这就是编译器停止的地方是的。这就是错误:线程“AWT-EventQueue-0”java.lang.ClassCastException中的异常:无法将java.lang.String转换为DentistAppNew。条件还包括它不允许我更改方法的类型,找不到符号这是编译器停止的地方是。这就是错误:线程“AWT-EventQueue-0”java.lang.ClassCastException中的异常:java.lang.String无法强制转换为DentistAppNew。条件还包括它不允许我更改方法的类型,找不到符号,正如您所说的,已更改,但它在第一个循环中停止工作,这是因为arraylist不包含条件对象。也就是说,对象是其他类型的。尝试调试它并检查它。另外,如果您希望收到ArrayList,请相应地更改您的方法声明。正如您所说,我已经更改了,但它在第一个for Loop时停止工作,这是因为ArrayList不包含Conditions对象。也就是说,对象是其他类型的。尝试调试它并检查它。此外,如果您希望收到ArrayList,请相应地更改您的方法声明。