将数据点添加到系列时,未经检查的数据调用错误

我正在制作 XY 折线图,并且在添加数据点时收到未检查的呼叫警告

XYChart.Series series = new XYChart.Series();
series.setName("Temp Res graph");for(int i = 1; i<800; i++) {
        XYChart.Data dp = new XChart.Data(i,Integer.parseInt(getTemp(i)));
        series.getData().add(dp);
        lineChart.getData().add(series);
}

这是一个警告,但是当我运行代码时出现了一堆错误,这似乎是由这些行引起的:

Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException: Duplicate series added


慕标5832272
浏览 61回答 1
1回答

米琪卡哇伊

未经检查的警告来自您对原始类型的使用。和都是通用类型XYChart.Series,XYChart.Data但您没有指定任何通用参数。根据您传递给Data构造函数的值,您应该Number将这两个参数都使用。至于您的错误,您将在循环的每次迭代结束时添加series到您的错误中。将该代码移出循环(之前或之后)。lineChartfor// Add generic parameters (uses the <> operator on the right)XYChart.Series<Number, Number> series = new XYChart.Series<>();series.setName("Temp Res graph");for(int i = 1; i<800; i++) {&nbsp; &nbsp; // Add generic parameters (uses the <> operator on the right)&nbsp; &nbsp; XYChart.Data<Number, Number> dp = new XChart.Data<>(i,Integer.parseInt(getTemp(i)));&nbsp; &nbsp; series.getData().add(dp);}lineChart.getData().add(series); // outside loop请注意,这LineChart也是一种通用类型;也不要忘记为其指定通用参数:LineChart<Number, Number>。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java