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:“typeList
中的方法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>>();