我有以下 Kotlin 代码:
fun handleResult(clazz: Any){
val store = App.getBoxStore();
if(clazz is List<*> && clazz.size > 0){
val items: List<*> = clazz;
val item = items.get(0);
val box = store.boxFor(item!!::class.java)
box.put(items)
}
}
它接受一个对象,检查它是否是一个集合,如果是,则接受一个项目来检查集合项目的类,从一个名为 ObjectBox 的数据库中创建一个 Box,然后将项目列表放入数据库。
但是,我在 Box.put 语句中收到以下错误:
Error:(45, 17) None of the following functions can be called with the
arguments supplied:
public open fun put(@Nullable vararg p0: Nothing!): Unit defined in
io.objectbox.Box
public open fun put(@Nullable p0: (Nothing..Collection<Nothing!>?)):
Unit defined in io.objectbox.Box
public open fun put(p0: Nothing!): Long defined in io.objectbox.Box
我要使用的方法的签名是:
public void put(@Nullable Collection<T> entities)
它接收一个泛型类型的集合,因为列表是一个集合,它应该可以工作。
我也明确地将它转换为一个列表,但它仍然说了同样的话。
谢谢!