Java コードから拡張機能にアクセスすることは可能ですか?
Kotlin ファイルで拡張機能を定義しました。
package com.test.extensions
import com.test.model.MyModel
/**
*
*/
public fun MyModel.bar(): Int {
return this.name.length()
}
MyModel
(生成された) Java クラスはどこにありますか。今、私は通常のJavaコードでそれにアクセスしたかった:
MyModel model = new MyModel();
model.bar();
しかし、それはうまくいきません。IDE はメソッドを認識せずbar()
、コンパイルは失敗します。
何が機能するかは、kotlin の静的関数を使用することです。
public fun bar(): Int {
return 2*2
}
これを使用import com.test.extensions.ExtensionsPackage
すると、IDE が正しく構成されているように見えます。
kotlin docs から Java-interop ファイル全体を検索し、グーグルで検索しましたが、見つかりませんでした。
私は何を間違っていますか?これは可能ですか?