我得到了以下变量
List<Pruefvorschrift> listP = new ArrayList<Pruefvorschrift>();
ObservableMap<TestDevice,List<Pruefvorschrift>> testDev = FXCollections.emptyObservableMap();
Run Code Online (Sandbox Code Playgroud)
在一个函数中,我想通过使用lambda表达式填充testDev
//first call REST service and get data
List<TestDevice> test_dev = call.getTestDevice("");
//now do a foreach to add each entry (as key) to the testDev ObservableMap with a empty List (as value)
test_dev.stream().forEach(td ->{
TestDevice t = td;
testDev.put(t, listP);
});
Run Code Online (Sandbox Code Playgroud)
但我得到的只是一个错误
java.util.AbstractMap.put上的java.lang.UnsupportedOperationException(AbstractMap.java:209)
这显然是这一行
testDev.put(t, listP);
Run Code Online (Sandbox Code Playgroud)
也许我误解了新的流api,但我只想填充可观察的地图,其中包含调用的所有结果(键)和一个空的List(稍后将修改的值).有帮助吗?谢谢
无论Map返回什么类型FXCollections#emptyObservableMap
FXCollections.emptyObservableMap();
Run Code Online (Sandbox Code Playgroud)
不支持该put方法.你不能添加任何东西.正如javadoc所述
创建并[sic]清空不可修改的可观察列表.
这与lambda表达式或Streamapi 无关.
| 归档时间: |
|
| 查看次数: |
654 次 |
| 最近记录: |