Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java将对象转换为类型?_Java - Fatal编程技术网

Java将对象转换为类型?

Java将对象转换为类型?,java,Java,我想在JList中选择患者已经点击的特定项目。如果我单击第三位患者,JList将选择患者选择的项目 在PatientConList中是该患者的条件对象 添加患者时,请执行以下操作: List PatientConditions1 = new ArrayList(); PatientConditions1 = ConditionsJList.getSelectedValuesList(); 然后当您单击患者时,它会执行此操作 public void MakePatientJListSelect

我想在JList中选择患者已经点击的特定项目。如果我单击第三位患者,JList将选择患者选择的项目

在PatientConList中是该患者的条件对象

添加患者时,请执行以下操作:

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,请相应地更改您的方法声明。