首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何实现Java泛型“捕获?”?

如何实现Java泛型“捕获?”?
EN

Stack Overflow用户
提问于 2018-08-31 03:23:41
回答 2查看 0关注 0票数 0

我正在工作,TreeTable当更换电池工厂时,需要通过一个

Callback<TreeTableColumn<A, capture of ?>, TreeTableCell<A, capture of ?>>

A是我正在使用的课程,但我不知道如何处理“捕获?”

我试图创

new Callback<TreeTableColumn<A, ?>, TreeTableCell<A, ?>>

但IDEA显示出警告

setCellFactory(Callback<TreeTableColumn<A, capture<?>>, TreeTableCell<A, capture<?>>>) in TreeTableColumn cannot be applied to (anonymous Callback<TreeTableColumn<A, ?>, TreeTableCell<A, ?>>)
EN

回答 2

Stack Overflow用户

发布于 2018-08-31 11:43:27

试试以下的解决方法:

public static <S> Callback<TableColumn<S,String>, TableCell<S,String>> forTableColumn() {
   return forTableColumn(new DefaultStringConverter());
}

或类似的东西,取决于你想要给Cell的内

setCellFactory(TextFieldTableCell.<DataModel, Integer>forTableColumn(new IntegerStringConverter()));
票数 0
EN

Stack Overflow用户

发布于 2018-08-31 12:41:06

通配符捕获是将通配符类型的值绑定到新类型变量的过程。例如:

List<?> list = ...;
shuffle(list);

<T> void shuffle(List<T> list) {
    ...
}

正在尝试调用方法

<S,T> setCellFactory(Callback<TreeTableColumn<S,T>, TreeTableCell<S,T>> factory);

Callback<TreeTableColumn<S,?>, TreeTableCell<S, ?>> factory;

可以使用通配符捕获引入一个:

setCellFactory(newFactory());

<S,T> Callback<TreeTableColumn<S,T>, TreeTableCell<S,T>> newFactory() {
    return new Callback<TreeTableColumn<S,T>, TreeTableCell<S,T>> {
        ...
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100006091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档