2016-10-02 63 views
3

我试着这样做:如何使用领域在法科特林

val barcodes = arrayOf("123", "456", "789") 
realm.where(Product::class.java).in("barcode", barcodes).findAll() 
“中的”

不过是一个科特林功能,我无法访问的(字符串filedName,字符串[]值)RealmQuery对象的方法。

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

回答

7

正如Escaping for Java identifiers that are keywords in Kotlin说:

一些科特林关键字是有效的标识符在Java中:在,对象, 是等,如果一个Java库使用科特林关键字的方法,你可以 仍然调用该方法与反引号逸出它(`)字符

例如:

realm.where(Product::class.java).`in`("barcode", barcodes).findAll() 
+0

哇,WA快速:)谢谢! – vladimir123

+1

如果一直转义方法名称对您来说不方便,ypu有可能创建一个扩展函数,其名称略有不同,委托给'in'。 –