类型安全性-为varargs参数创建通用数组-这是一个好的解决方案吗?

时间:2018-11-12 08:25:45

标签: java variadic-functions compiler-warnings

如果我将列添加到JavaFX TableView:

tableView.getColumns().addAll( col1, col2, col3);

我收到此警告:

  

类型安全:TableColumn 是为varargs参数创建的

如果我手动将vargs放入列表中,则不会收到警告:

tableView.getColumns().addAll( Arrays.asList( col1, col2, col3 ) );

这是处理此警告的好方法,还是有更好的方法?仅使用varargs方法来获得警告并不正确。

2 个答案:

答案 0 :(得分:1)

这可能是我的个人喜好,但不会为了避免此警告而创建列表。我只是在方法上打@SuppressWarnings("unchecked")(如果有很多,甚至是类),然后继续。

答案 1 :(得分:0)

从您的编码方式来看

  

分别制作了一组列,然后将它们添加到表中。   我从来没有在列表的上下文中使用它们,除非将它们添加到   表的addAll vararg方法。

使用数组的方式可以证明是合理的。我自己想不到一个更好的理由。从我的角度来看,您很高兴。

如果您在某个时间点知道可以更谨慎地实现这一目标,请随时在此处与我联系。