Безопасность типов - для параметра varargs создается универсальный массив - это хорошее решение? - PullRequest
0 голосов
/ 12 ноября 2018

Если я добавляю столбцы в JavaFX TableView:

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

Я получаю это предупреждение:

Безопасность типов: универсальный массив TableColumn создается для параметра varargs

Если я вручную помещаю vargs в список, я не получаю предупреждение:

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

Это хороший способ разобратьсяс этим предупреждением или есть лучший способ?Неправильно получать предупреждение только за использование метода varargs.

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Судя по тому, как вы кодировали, т.е.

составил коллекцию столбцов по отдельности, затем я добавляю их в таблицу. Я никогда не использую их в контексте списка, кроме как добавить их в таблица с использованием метода addAll vararg таблицы.

то, как вы использовали массивы, может быть оправдано. Я не мог придумать себе лучшую причину. С моей точки зрения, тебе пора.

Если вы когда-нибудь узнаете, что это может быть достигнуто более осторожным способом, не стесняйтесь обновлять меня здесь.

0 голосов
/ 12 ноября 2018

Это моё личное предпочтение, но я не буду создавать список, чтобы избежать этого предупреждения. Я просто набрал бы @SuppressWarnings("unchecked") метод (или, возможно, даже класс, если у вас их много), и пошел бы дальше.

...