必須の注釈タイプ
io.realm.annotations
実装されたインターフェース:
この注釈により、 io.realm.RealmList
のフィールドまたは要素が null 不可としてマークされます。
Boolean, Byte, Short, Integer, Long, Float, Double, String, byte[], Date
型のフィールドに必須が付けられている場合、そのフィールドをnull
に設定することはできません。その場合、Realm は例外をスローします。
プリミティブ型を持つフィールドは暗黙的に必須です。 ただし、 String
はプリミティブ型ではないため、Java では@Required
とマークされていない限り、デフォルトで null 可能です。 Kotlin ではその逆が true であるため、 String
は null 以外になります。 で null 可能なstringKotlin String?
を指定するには、 を使用する必要があります。
この注釈をRealmList
で使用する場合、注釈はリスト自体ではなく、リスト内の要素に適用されます。 リスト自体は常に null 以外です。 つまり、この注釈でマークされたリストでは、データ型で許可されている場合でも、 null
値を保持することは 許可されません 。 @Required
とマークされたリストに null 値を保存しようとすると、Realm は例外をスローします。
この注釈は、RealmAny フィールドの内部値は常に null 可能なため、 RealmAny
では使用できません。 RealmAny
を@Required
としてマークしようとすると、Realm は例外をスローします。
必須注釈に、他の Realm オブジェクトへの参照を含むRealmList
が付けられている場合、コンパイルは失敗します。