所需的注释类型
在此页面上
Atlas Device SDK 已弃用。 有关详细信息,请参阅弃用页面。
io.realm.annotations
实现的接口:
此注解会将 io.realm.RealmList
中的字段或元素标记为不可为空。
当类型为Boolean, Byte, Short, Integer, Long, Float, Double, String, byte[], Date
的字段用必需注释时,不能将其设置为null
,如果发生这种情况,Realm 将抛出异常。
具有基元类型的字段是隐式必需的。 请注意, String
不是基元类型,因此在 Java 中,除非标记为@Required
,否则默认为可为 null。 在 Kotlin 中,情况正好相反,因此String
是非空的。 要在 Kotlin 中指定可为 null 的字符串,应使用String?
。
如果将此注解用在RealmList
上,则该注解将应用于列表内的元素,而不是列表本身。 列表本身始终为非空值。 这意味着标有此注解的列表决不允许保存null
值,即使数据类型允许。 如果您尝试将 null 值存储到标记为@Required
的列表中,Realm 将引发异常。
此注解不能用在RealmAny
上,因为 RealmAny 字段的内部值始终可为 null。如果您尝试将RealmAny
标记为@Required
,Realm 会抛出异常。
如果将必需注解放在包含对其他Realm对象的引用的RealmList
中,则编译将失败。