如何在kotlin的JavaFX图表中添加一个系列

说我有一个系列:

val series: XYChart.Series = XYChart.Series() series.data.addAll(myData.map { pair -> XYChart.Data(pair.key, pair.value) }) 

现在我想创建一个折线图如下:

 val xAxis = NumberAxis() val yAxis = NumberAxis() val lineChart = LineChart(xAxis, yAxis) lineChart.data.add(series) 

但是,当我这样做,我得到以下错误:

 Error:(xx, xx) Kotlin: Type mismatch: inferred type is XYChart.Series but XYChart.Series! was expected 

有没有办法解决这个问题,而不改变myMap的键和值types为Number (哪些工作)? 对于我来说, IntLong都是从Numberinheritance的,所以在这里应该没有任何问题。

理想情况下,我希望能够映射一个数据集(在本例中为myData ),而不必实际修改数据集本身或者使用正确的types(看起来很昂贵)制作数据集的副本。

有人可能也可以解释为什么linChart.data.add(series)期望XYChart.Series! ,或者更具体地说,为什么我会得到一个错误,如果它期望这个? 因为我感到我传递的是无关紧要的印象! 意味着你可以通过任何事情; 要么是一个可能为null的序列,要么是一个显式不为null的序列。