如何在 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
)
我正在学习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
)