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が付けられている場合、コンパイルは失敗します。