2015-06-25 5 views
4
warning: [unchecked] unchecked call to setCellValueFactory(Callback<CellDataFeatures<S,T>,ObservableValue<T>>) as a member of the raw type TableColumn column1.setCellValueFactory(new PropertyValueFactory<String, State>("name")); where S,T are type-variables: 
    S extends Object declared in class TableColumn 
    T extends Object declared in class TableColumn 

код:Как я могу избавиться от этих предупреждений (непроверенных вызовов)?

column1.setCellValueFactory(new PropertyValueFactory<>("name")); 

warning: [unchecked] unchecked call to add(E) as a member of the raw type List 
      transitionTable.getColumns().add(column1); 
    where E is a type-variable: 
    E extends Object declared in interface List 

код:

transitionTable.getColumns().add(column1); 

warning: [unchecked] unchecked call to setAll(Collection<? extends E>) as a member of the raw type ObservableList 
     automatonSelection.getItems().setAll(automatonManager.getMachines()); 
    where E is a type-variable: 
    E extends Object declared in interface ObservableList 

код:

automatonSelection.getItems().setAll(automatonManager.getMachines()); 

automatonSelection является ComboBox и getMachines() возвращает LinkedList от типа Automaton


warning: [unchecked] unchecked call to addListener(ChangeListener<? super T>) as a member of the raw type ObservableValue 
     automatonSelection.valueProperty().addListener((ObservableValue observable, 
    where T is a type-variable: 
    T extends Object declared in interface ObservableValue 

код:

automatonSelection.valueProperty().addListener((ObservableValue observable, 
      Object oldValue, Object newValue) -> { 
     stateChanged(); 
    }); 

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

+0

@suppress аннотацию – SSH

+1

Не давать вещам 'raw' типа указать тип' ArrayList <> '' против ArrayList '... – brso05

+0

Have выглядеть http://stackoverflow.com/questions/1129795/what -is-suppresswarnings-unchecked-in-java у вас есть несколько лучших просмотров – SSH

ответ

8

Не объявляйте свои TableView s и TableColumn s как сырые типы.

Другими словами, вместо

TableView personTable ; 
TableColumn firstNameColumn ; 

использование

TableView<Person> personTable ; 
TableColumn<Person, String> firstNameColumn ; 

т.д.

Не подавляйте эти предупреждения, они помогут вам отлаживать проблемы.

+0

Я объявил свои столбцы точно так же и все еще получаю предупреждение –

+0

Используете ли вы Java 8? И для 'transitionTable.getColumns(). Add (column1);' вы не можете получить предупреждение, если 'transTable' и' column1' объявлены следующим образом. –

+0

Мне удалось исправить эти предупреждения, но последние 2 все еще остаются, вы можете помочь? особенно с прослушивателем –

Смежные вопросы