如何在 JavaFX 的 XYChart 中删除 "unchecked generics array creation for varargs"?

How to remove "unchecked generics array creation for varargs" in XYChart on JavaFX?

我正在学习JavaFX,我也是Java的新手。 (我在 Windows 中使用 Java8。)

示例代码如下。

XYChart.Series series1 = new XYChart.Series();
eries1.setName("남자");
series1.setData(FXCollections.observableArrayList(
        new XYChart.Data("2015", 70),
        new XYChart.Data("2016", 40),
        new XYChart.Data("2017", 50),
        new XYChart.Data("2018", 30)
));

在这段代码中,我可以看到一个警告。也就是说,

Unchecked call to 'Data(X, Y)' as a member of raw type 'javafx.scene.chart.XYChart.Data'

虽然代码有效,但我想删除此警告,因为我不擅长 Java 泛型编程,想通过示例代码了解更多信息。

删除该警告的正确方法是什么?

谢谢。

更改看起来像

的行
new XYChart.Data("2015", 70)

使用 "diamond operator" <> 指定推断的泛型类型。喜欢,

new XYChart.Data<>("2015", 70)

如果使用旧版本的 Java(没有菱形运算符),请提供 XYChart.Data 中记录的 <X,Y> 类型参数,如

new XYChart.Data<String, Integer>("2015", 70)

以下 没有警告 和 java 12

XYChart.Series<String, Integer> series1 = new XYChart.Series<>();
ObservableList<XYChart.Data<String, Integer>> list = FXCollections.observableArrayList();
list.add(new XYChart.Data<>("2015", 70));
list.add(new XYChart.Data<>("2016", 40));
list.add(new XYChart.Data<>("2017", 50));
list.add(new XYChart.Data<>("2018", 30));
series1.setData(list);

请参阅我对 Elliot 的回答的最后评论。基本上,在使用方法 addAll().

时,您无法摆脱警告(除了使用注释 @SuppressWarning