如何删除“;为varargs创建未选中的泛型数组;在JavaFX上的XYChart中?

如何删除“;为varargs创建未选中的泛型数组;在JavaFX上的XYChart中?,java,javafx-8,Java,Javafx 8,我正在学习JavaFX,我也是Java的新手。 (我正在Windows中使用Java8。) 示例代码如下所示 XYChart.Series series1 = new XYChart.Series(); eries1.setName("남자"); series1.setData(FXCollections.observableArrayList( new XYChart.Data("2015", 70), new XYCha

我正在学习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)
使用“菱形运算符”指定推断的泛型类型。像

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

更改看起来像的线条

new XYChart.Data("2015", 70)
使用“菱形运算符”指定推断的泛型类型。像

new XYChart.Data<>("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);
XYChart.Series系列1=新的XYChart.Series();
ObservableList=FXCollections.observableArrayList();
列表.添加(新的XYChart.数据(“2015”,70));
列表.添加(新的XYChart.数据(“2016”,40));
列表.添加(新的XYChart.数据(“2017”,50));
列表.添加(新的XYChart.数据(“2018”,30));
系列1.设置数据(列表);

请参阅我对Elliot回答的最后一点评论。基本上,当使用方法
addAll()
时,您无法摆脱警告(除了使用注释
@SuppressWarning
),下面给出的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);
XYChart.Series系列1=新的XYChart.Series();
ObservableList=FXCollections.observableArrayList();
列表.添加(新的XYChart.数据(“2015”,70));
列表.添加(新的XYChart.数据(“2016”,40));
列表.添加(新的XYChart.数据(“2017”,50));
列表.添加(新的XYChart.数据(“2018”,30));
系列1.设置数据(列表);

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

时,您无法摆脱警告(除了使用注释
@SuppressWarning
),这不应该是:
XYChart.Series系列1=new XYChart.Series()?顺便说一句,OP确实提到他在使用Java8,所以支持菱形运算符。@Elliott Frisch,我按照你的建议更改了代码。我想删除的警告已删除,但出现了新的警告。它告诉我,
FXCollections.observearraylist
为varargs参数创建了
未选中的泛型数组。这是什么?如何删除此警告?谢谢。@Abra,我按照你的建议更改了代码,它告诉我两个警告<代码>未检查的分配
FXCollections.observearraylist
未检查的调用
Data()
@passion053,这不应该是:
XYChart.series1=new XYChart.series1()?顺便说一句,OP确实提到他在使用Java8,所以支持菱形运算符。@Elliott Frisch,我按照你的建议更改了代码。我想删除的警告已删除,但出现了新的警告。它告诉我,
FXCollections.observearraylist
为varargs参数创建了
未选中的泛型数组。这是什么?如何删除此警告?谢谢。@Abra,我按照你的建议更改了代码,它告诉我两个警告<代码>未经检查的分配
FXCollections.observearraylist
未经检查的调用
Data()
@passion053,