JavaFX, Casting ArrayList to ObservableList

有没有办法投射到?我想在不迭代的情况下执行此操作。ArrayListObservableListArrayList

更具体地说,我正在使用ORMLite从数据库获取数据,我需要作为从DB获取数据的方法的输出。ObservableList

目前我正在做这样的事情:

ArrayList<Stavka> listStavaka = new ArrayList<>(); 
Dao<Stavka, Integer> stavkaDao = DaoManager.createDao(connection, Stavka.class);
listStavaka = (ArrayList<Stavka>) stavkaDao.queryForAll();
ObservableList<Stavka> oListStavaka = FXCollections.observableArrayList();
for (Stavka stavka : listStavaka) {
    oListStavaka.add(stavka);
}

我想做这样的事情:

ObservableList<Stavka> listStavaka = FXCollections.observableArrayList();
Dao<Stavka, Integer> stavkaDao = DaoManager.createDao(connection, Stavka.class);
listStavaka = (ObservableList<Stavka>) stavkaDao.queryForAll();

答案 1

你可以做

ObservableList<Stavka> oListStavaka = FXCollections.observableArrayList(listStavaka);

答案 2

就像Uluk Biy的答案一样,但是如果您不想将其与FXCollections的新列表混合在一起,请使用这个...

oListStavaka.addAll(stavkaDao.queryForAll());

推荐