Ich baue meinen Code mit Kotlin.Java Lambda nach Kotlin
Ich habe auf ein Problem mit Lambda in Kotlin mit den folgenden gestolpert:
Java-Code:
((UndertowEmbeddedServletContainerFactory) container)
.addBuilderCustomizers(builder ->
builder.setServerOption(UndertowOptions.ENABLE_HTTP2, true));
Mit Instanziierung gemeinsame Schnittstelle
((UndertowEmbeddedServletContainerFactory) container)
.addBuilderCustomizers(new UndertowBuilderCustomizer() {
@Override
public void customize(Builder builder) {
builder.setServerOption(UndertowOptions.ENABLE_HTTP2, true);
}
});
in Kotlin Mein Code
val c: UndertowEmbeddedServletContainerFactory = (container as UndertowEmbeddedServletContainerFactory)
// Calling the Lambda
c.addBuilderCustomizers{ (b: Builder) -> b.setServerOption(UndertowOptions.ENABLE_HTTP2, true) }
Es hat mir einen Syntaxfehler geben:
Multiple markers at this line - Passing value as a vararg is only allowed inside a parenthesized argument list - Cannot infer a type for this parameter. Please specify it explicitly.
Was könnte die korrekte Syntax sein?
Versuchen Sie, das Lambda in Klammern einzuhüllen. –