Мой предыдущий SSCCE был некорректен сам. Я попытался написать еще один, но он тоже был неправильным. Итак, сейчас я не понимаю эту проблему и, следовательно, не может писать чистый пример Java и поэтому я проводки пример с классами библиотеки:Попытка №3: Невозможно сформировать выражение требуемого типа с двумя вопросительными знаками в Java
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
import javafx.util.Callback;
public class DoubleQuestionMark3 {
public static class MyClass {
}
public static void main(String[] args) {
TableColumn<MyClass, ?> column = new TableColumn();
Callback<TableColumn<MyClass, ?>, TableCell<MyClass, ?>> callback = new Callback<TableColumn<MyClass, ?>, TableCell<MyClass, ?>>() {
@Override
public TableCell<MyClass, ?> call(TableColumn<MyClass, ?> param) {
return null;
}
};
column.setCellFactory(callback);
}
}
Вопрос заключается в том же: как приготовить callback
соответствующего класса?
Если невозможно, то, во-первых, пожалуйста, укажите, что это действительно невозможно, и, во-вторых, объясните, почему это невозможно.
UPDATE
Указание Object
для обратного вызова не помогает:
Callback<TableColumn<MyClass, Object>, TableCell<MyClass, Object>> callback = new Callback<TableColumn<MyClass, Object>, TableCell<MyClass, Object>>() {
@Override
public TableCell<MyClass, Object> call(TableColumn<MyClass, Object> param) {
return null;
}
};
Почему вы просто не редактируете существующие вопросы, которые вы написали для этого ...? – Makoto
Потому что я получил буквально правильный ответ от новичка. – Dims
Проблема - это подстановочный знак '?'. Почему вы его используете? 'setCellFactory' требует' Callback, TableCell
> 'как параметр, то есть те же' S' и 'T'. Подстановочный знак не выполняет этого, он говорит, что это может быть какой-то «тип». – Tunaki