どのように私はKotlinメソッドにJavaからラムダを渡すのですか?

バリーFruitman:

私は、JavaからこのKotlinメソッドを呼び出すことができますか?

fun foo(() -> Unit)

その場合、構文は何ですか?

トッド:

あなたはこれを呼び出すが、戻り値の型を注意する必要がありますすることができます。あなたKotlinの関数が返した場合Unit、Javaは、どちらかの必要が戻りますUnitまたはnullので、void全く同じではありませんUnit

働いていた私の例:

foo(() -> {
    System.out.println("Hi");
    return null;
});

それとも、あなたが本当にについて明示的にしたい場合はUnit...

foo(() -> {
    System.out.println("Hi");
    return Unit.INSTANCE;
});

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=199401&siteId=1