我遇到以下循环抛出错误的问题Incompatible types: Required: Workstation, Found: java.lang.Object
。
键入所有内容后,我无法理解为什么它会找到 Object 而不是键入的对象。
private static WorkflowProcess getWorkflowProcessByWorkstationRecursive(Collection<WorkflowProcess> workflowProcesses) {
for (WorkflowProcess workflowProcess : workflowProcesses) {
for (Workstation workstation : workflowProcess.getWorkstations()) //ERROR IS HERE
WorkflowProcess.java
abstract public class WorkflowProcess<WorkstationType extends Workstation> {
private ArrayList<WorkstationType> workstationList = new ArrayList<WorkstationType>();
public ArrayList<WorkstationType> getWorkstations() {
return workstationList;
}
ServerWorkflowProcess.java
abstract public class ServerWorkflowProcess extends WorkflowProcess<ServerWorkstation> {
服务器工作站.java
abstract public class ServerWorkstation extends Workstation<ServerWorkflowProcess> {
它有点复杂,但基本上类层次结构如下所示:
SpecificWorkflowProcess
延伸TypeOfWorkflowProcess<TypeOfWorkstaton>
延伸WorkflowProcess
SpecificWorkstation
延伸TypeOfWorkstation<TypeOfWorkflowProcess>
延伸Workstation
WorkflowProcesses
to Workstation
= 一对多