Java Лямбда в Котлин

Я строю свой код с Котлином.

Я наткнулся на проблему с использованием Lambda в Котлине со следующим:

Код Java:

((UndertowEmbeddedServletContainerFactory) container) .addBuilderCustomizers(builder -> builder.setServerOption(UndertowOptions.ENABLE_HTTP2, true)); 

Использование общей реализации интерфейса

 ((UndertowEmbeddedServletContainerFactory) container) .addBuilderCustomizers(new UndertowBuilderCustomizer() { @Override public void customize(Builder builder) { builder.setServerOption(UndertowOptions.ENABLE_HTTP2, true); } }); 

Мой код в Котлине

 val c: UndertowEmbeddedServletContainerFactory = (container as UndertowEmbeddedServletContainerFactory) // Calling the Lambda c.addBuilderCustomizers{ (b: Builder) -> b.setServerOption(UndertowOptions.ENABLE_HTTP2, true) } 

Это дает мне синтаксическую ошибку:

Несколько маркеров в этой строке. Передача значения в качестве vararg допускается только внутри списка аргументов в скобках. Нельзя вывести тип для этого параметра. Просьба указать его явно.

Какой может быть правильный синтаксис?

Вам нужно немного помочь компилятору Kotlin и сказать, какой тип этого лямбда. Этот код должен компилироваться и работать очень хорошо:

  c.addBuilderCustomizers(UndertowBuilderCustomizer{ it.setServerOption(UndertowOptions.ENABLE_HTTP2, true)})