如何在Kotlin中使用Realm的方法

vla*_*123 3 android realm kotlin

我正在尝试做类似的事情:

val barcodes = arrayOf("123", "456", "789")
realm.where(Product::class.java).in("barcode", barcodes).findAll()
Run Code Online (Sandbox Code Playgroud)

但是"in"是一个Kotlin函数,我无法访问RealmQuery对象的in(String filedName,String [] values)方法.

目前我有一个java类来完成这项工作并返回结果,但我想知道有更优雅的解决方法吗?

mie*_*sol 7

在Kotlin中作为关键字Escaping for Java标识符中所述:

一些Kotlin关键字是Java中的有效标识符:in,object,is等.如果Java库对方法使用Kotlin关键字,您仍然可以使用反引号(`)字符调用转义它的方法

例如:

realm.where(Product::class.java).`in`("barcode", barcodes).findAll()
Run Code Online (Sandbox Code Playgroud)