【问题标题】:Groovy, Spock wildcard for varargs, Java 11Groovy,可变参数的 Spock 通配符,Java 11
【发布时间】:2023-02-04 05:48:19
【问题描述】:

我在我的服务中使用 CompletableFutureallOf 方法。

public static CompletableFuture<Void> allOf(CompletableFuture<?>... cfs) {
    return andTree(cfs, 0, cfs.length - 1);
}

如您所见,参数是CompletableFuture&lt;?&gt;... cfs

现在,我正在尝试:CompletableFuture.allOf(*_).join() &gt;&gt; { Void }

我得到:

无方法签名:静态 java.util.concurrent.CompletableFuture.allOf() 适用于参数类型:(org.spockframework.lang.SpreadWildcard) 值:[] 可能的解决方案:allOf([Ljava.util.concurrent.CompletableFuture;), anyOf([Ljava.util.concurrent.CompletableFuture;), any(), sleep(long), any(groovy.lang.Closure), split(groovy .lang.关闭) groovy.lang.MissingMethodException:没有方法签名:静态 java.util.concurrent.CompletableFuture.allOf() 适用于参数类型:(org.spockframework.lang.SpreadWildcard) 值:[*] 可能的解决方案:allOf([Ljava.util.concurrent.CompletableFuture;), anyOf([Ljava.util.concurrent.CompletableFuture;), any(), sleep(long), any(groovy.lang.Closure), split(groovy .lang.Closure)*

CompletableFuture.allOf(_).join() &gt;&gt; { Void }

CompletableFuture.allOf([_ as CompletableFuture&lt;?&gt;]).join() &gt;&gt; { Void }

无方法签名:静态 java.util.concurrent.CompletableFuture.allOf() 适用于参数类型:(ArrayList) 值:[[java.util.concurrent.CompletableFuture@1fd956dd[正常完成]]] 可能的解决方案:allOf([Ljava.util.concurrent.CompletableFuture;), anyOf([Ljava.util.concurrent.CompletableFuture;), any(), any(groovy.lang.Closure), split(groovy.lang.Closure) ,睡觉(长) groovy.lang.MissingMethodException:没有方法签名:静态 java.util.concurrent.CompletableFuture.allOf() 适用于参数类型:(ArrayList) 值:[[java.util.concurrent.CompletableFuture@1fd956dd[正常完成]] ] 可能的解决方案:allOf([Ljava.util.concurrent.CompletableFuture;), anyOf([Ljava.util.concurrent.CompletableFuture;), any(), any(groovy.lang.Closure), split(groovy.lang.Closure) ,睡觉(长)

  • CompletableFuture.allOf([_ as CompletableFuture&lt;?&gt;]).join() &gt;&gt; { Void }

  • CompletableFuture.allOf([*_]).join() &gt;&gt; { Void }

必须怎样?

【问题讨论】:

    标签: java arrays groovy spock


    【解决方案1】:

    你可以尝试:

    CompletableFuture.allOf([] as CompletableFuture<String>).join()  >> { Void }
    

    或者

    CompletableFuture.allOf([] as CompletableFuture<?>).join()  >> { Void }
    

    【讨论】:

      猜你喜欢
      • 2016-09-05
      • 1970-01-01
      • 1970-01-01
      • 2022-06-10
      • 2016-07-13
      • 2020-06-06
      • 2012-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多