Java 在Play框架中将承诺列表转换为列表承诺

Java 在Play框架中将承诺列表转换为列表承诺,java,generics,playframework,type-mismatch,Java,Generics,Playframework,Type Mismatch,我想将列表转换为承诺。我知道使用该方法可以实现这一点,但我在获取正确的类型时遇到了一些问题 以下是我尝试过的: 第一种(幼稚的)方法 根据中列出的子类型规则,Promise应该是Promise的子类型。您可以使用以下声明: List<Promise<? extends Boolean>> foo = new ArrayList<Promise<? extends Boolean>>(); list谢谢你的回答!这是可行的,但它只会删除我声明的fo

我想将
列表
转换为
承诺
。我知道使用该方法可以实现这一点,但我在获取正确的类型时遇到了一些问题

以下是我尝试过的:

第一种(幼稚的)方法
根据中列出的子类型规则,
Promise
应该是
Promise的子类型。您可以使用以下声明:

List<Promise<? extends Boolean>> foo = new ArrayList<Promise<? extends Boolean>>();

list谢谢你的回答!这是可行的,但它只会删除我声明的
foo
行的所有警告/编译问题。不幸的是,在调用
序列之前,它阻止我向
foo
添加任何
Promise
s:“type
List
中的方法
add
不适用于参数
F.Promise
。好的,那么您可以先填写列表,然后用上述类型将其分配给
foo
引用,然后将其传递给
sequence()
方法。”。这是因为您不能向
列表添加任何内容,那么临时列表应该声明为什么?因为当我做
List temp=new ArrayList()时,我可以通过
foo=temp将
temp
添加到
temp
中,但是在通过
foo=temp将
temp
分配到
foo
之后,我可以将
添加到
temp
,将
foo
传递到
sequence()
将不起作用。错误消息基本上与我第一次接近时得到的消息相同。@itsjeyd是类型
List@itsjeyd啊!!一个小错误。我已经更新了答案。实际上,您不需要创建
temp
列表。只要上面的一个就行了。
List<Promise<? extends Boolean>> foo = new ArrayList<Promise<Boolean>>()
List<Promise<? extends Boolean>> foo = new ArrayList();
List<Promise<? extends Boolean>> foo = new ArrayList<Promise<? extends Boolean>>();