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ドキュメントからJava-interopファイル全体を検索し、多くのグーグル検索を行いましたが、見つかりませんでした。
何が悪いのですか?これは可能ですか?
com.test.extensions.ExtensionsPackage
import package com.test.extensions.MyModel
か?