メモ書きです。
AndroidStudio3への移行に併せて各種ライブラリを最新版にしたら色々と罠を踏みました
環境
バージョン | |
---|---|
Android Studio | 3.0.1 |
Realm | 4.3.1 |
kotlin | 1.2.10 |
現象
test.kt
Realm.where(hoge::class.java).equalTo("field", 0)
と普通にequalToを使っているだけなのに、
Error:(260, 30) Overload resolution ambiguity:
public open fun notEqualTo(p0: String!, @Nullable p1: Int?): RealmQuery<MaterialMaster!>! defined in io.realm.RealmQuery
とか言われる。
解決法
test.kt
Realm.where(hoge::class.java).equalTo("field", 0.toInt())
はい。0
を0.toInt()
に変えただけです。
えー。Realmの中の人曰く、Kotlinのコンパイラのバグっぽい。
ちなみにnotEqualTo、Byte、Long、Shortでも同様の現象が起きます。
解決方法は一緒です。
参考