Kotlin移行8

目的

  • Javaで書かれたプロジェクトを少しずつKotlinで書き直す
  • TestもKotlin化
  • 備忘録的にちょこちょこ完了まで続ける

条件

  • AndroidStudio3.2.1
  • Java1.8.0_152
  • Kotlin 1.2.70
  • gradle 4.10.2

今回の作業予定内容

  • Companion Objectではまった(UnResolveReferenceとかNo field Companion of type)

前提

  • とあるクラスのCompanionObjectをJavaからもKotlinからも参照している

手順と具体的な作業

  • Javaからのみ参照している場合は@JvmStaticをつけて事なきを得ていたが、Kotlinから参照しだすと、エラー(UnResolveReferenceとかNo field Companion of type)
  • 時間もなかったのでいい解決策は不明ですが、フルKotlinにし、@JvmStatic等のアノテーションを削除することで解消
    • AndroidStrudioで通常ビルドをするだけだとキャッシュ?が残っているのかエラーになってしまっていた。コマンドラインで./gradlew cleanしてからビルドで解消

まとめ

ちょっとずつJavaからKotlinに移行していこうと思ったが、意外にもstaticメソッド系が多かったため時間がかかってしまった。
Util系クラスなどstaticなメソッドが多いものから順にKotlin化すべきでした。