package demo; import kotlin.Lazy; import kotlin.LazyKt; import kotlin.LazyThreadSafetyMode; import kotlin.collections.CollectionsKt; import kotlin.jvm.functions.Function0; import kotlin.jvm.functions.Function1; import java.util.ArrayList; import java.util.List; public class TestJava { public static void main(String[] args) { List x = new ArrayList(); CollectionsKt.filter(x, new Function1() { @Override public Boolean invoke(String o) { return o.equals("a"); } }); Lazy lazy = LazyKt.lazy(LazyThreadSafetyMode.NONE, new Function0() { @Override public String invoke() { return "aaa"; } }); } public void f(Function1 result) { result.invoke("a") } }