不能@Required或@NotNull
在使用REALM
版本4.3.3
进行Android开发时,出现以下错误:
Error: Field "groupName" with type "pizware.evaluapp.Models.Group" can not be @Required or @NotNull.
但是我没有在任何领域使用这些标签。 有谁知道发生了什么事?
当你使用Kotlin的时候,Realm会检查你的领域的可空性。
例如,
class Blah: RealmObject() { var group: Group? = null }
然后group
不会得到隐式的@Required
注解。
但是,如果你这样做
class Blah: RealmObject() { var group: Group = Group() }
这是行不通的,因为Realm不能保证单一链接的不可空性。 所以它会抛出你得到的错误。
如果你想忽略这个,因为例如你正在做一个避免空值返回的支持字段,那么你可以使用(自4.1.0以来):
kapt { arguments { arg("realm.ignoreKotlinNullability", true) } }
在这种情况下,Realm不会试图隐式处理你的可空性(并且把Kotlin的可空性映射到字段的@Required
)。 但是只有当你真的知道你在做什么时,你才应该使用它。
- Android:导航到另一个片段
- Gradle花时间看似无所事事
- 无法在RealmObject子类中创建ArrayList
- SpringBoot ArrayIndexOutOfBoundsException MethodParameter.getGenericParameterType
- Kotlin:获取具有标准function的文件扩展名
- Kotlin – 与SomeClass.class对象的等价性?
- getters()和setters()简化一个类
- MapDB ClassNotFoundException:kotlin.jvm.internal.Intrinsics
- =?UTF Q + 新闻组字符串从ASCII到Unicode