簡體   English   中英

分配給JavaFX集合的Java泛型編譯器錯誤

[英]Java generics compiler error assigning to JavaFX collection

考慮以下代碼:

public interface ListDisplayObj {
    public String getListDisplayString();
}

public class BusinessObject implements ListDisplayObj {
    ...
     public String getListDisplayString() {
          return "Example String";
     }
}

public class DBUtilityClass {
    public ObservableList<BusinessObject> getMyBusinessObjects() {
        ObservableList<BusinessObject> toReturn =
            FXCollections.observableArrayList();
        // add some values to list
        return toReturn;
    }
}

public class JavaFXGuiController  implements Initializable {

    @FXML private ListView<ListDisplayObj> listItems;

    @Override
public void initialize(URL url, ResourceBundle rb)
{
        ObservableList<ListDisplayObj> objsForList =
            DBUtilityClass.getMyBusinessObjects();
        listItems.setItems(objsForList);
        ...
    }
}

在初始化分配()被生成一個“不兼容的類型的”的返回類型之間編譯錯誤getMyBusinessObjects()函數和objsForList類型。

我究竟做錯了什么?

setItems需要一個確切類型的列表(ObservableList而不是ObservableList),而您的列表是接口的實現。 將listItems定義為ListView。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM