Вам необходимо использовать другой параметр типа, указывающий, что ControlSchedule
действительно является типом, который можно добавить в список items
или использовать необработанный тип. Последний подход имеет эффект, аналогичный использованию TableView<Object>
в этом случае. Однако использование необработанного типа не рекомендуется;в этом случае вы уже выбросили тип безопасности из окна.
Здесь я бы рекомендовал использовать
TableView<? super ControlSchedule> table = (TableView<? super ControlSchedule>)mainPane.getChildren().stream().filter(c -> c instanceof TableView<?>).findFirst().get();
Но вы должны быть на 100% уверены, что этот бросок выиграл. ничего не сломать. Существует множество объектов, используемых для установки TableView
, что может привести к исключению, если тип TableView
на самом деле не соответствует параметру типа, используемому в объявлении переменной table
выше.
Я не рекомендую использовать этот вид кода в любом случае. Лучшей альтернативой было бы использование подходящей структуры данных для хранения TableView
. Это позволит вам избежать такого рода приведения, позволяя компилятору выполнять проверки.