io.realm
実装されたインターフェース:
は、可変でMutableRealmInteger Long のような数値量です。これは、Long への参照としてほぼ完全に動作します。具体的には、次のとおりです。
MutableRealmIntegerには値nullが含まれる場合があります。equals 演算子は、含まれている Long 値を比較します。
nullの値MutableRealmIntegerは.equalsconfigureTo 演算子は、含まれている Long 値を比較します。
nullはnull以外の値であると見なします。インクリメント演算子とデクリメント演算子は、 値の
nullMutableRealmIntegerに適用されると、 IllealStateException をスローします。
MutableRealmInteger は、管理されたRealmModelオブジェクトのノードとして最も重要です。 管理する場合、増分演算子と減算演算子は次を実装します:
競合のないレプリケートされたデータ型: 複数の分散クライアントからの同時増加と減少が正しく集計されます。インスタンス、ユーザー "Fred" を表すオブジェクトの counterフィールドの値が現在 0 の場合、次のコードは、低速で信頼できないネットワークのみに接続されている場合でも、2 つの異なるデバイスで同時に実行されると、 になります
により、常にcounterの値が変換され、最終的には値 2 になります。
MutableRealmInteger counter = realm.where(Users.class) .equalTo("name", Fred) .findFirst() .counter.increment(1);
set(Long)演算子は、細心の注意を使用して使用する必要があることに注意してください。 インクリメント(long)またはデクリメント(long)に対する以前の呼び出しの効果を消去します。 MutableRealmIntegerの値は常にデバイス間で変換されますが、変換される具体的な値は、操作が行われた実際の順序によって異なります。 したがって、ファジーカウントが受け入れられない限り、 set(Long)を増分(long)とデクリメント(long )と混在させることは推奨されません。
MutableRealmInteger はプライマリキーでなくてはなりません。 実装はスレッドセーフではありません。 すべての管理対象 Realm オブジェクトと同様に、管理対象のMutableRealmIntegerはスレッド間で移動できません。 管理されていないMutableRealmIntegerはスレッド間で移動できますが、安全な公開が必要です。
モデル クラス内のMutableRealmIntegerは、常にfinalと宣言する必要があります。 例:
public final MutableRealmInteger counter = MutableRealmInteger.ofNull();
MutableRealmIntegerをnull として初期化すると、非常に限定的な状況になる可能性がありますが、開発者には次のことをお勧めします。
しないでください 。
public final MutableRealmInteger counter = null; // DO NOT DO THIS!
また、 MutableRealmIntegerが@Requiredの場合は、null 以外の値で初期化する方がよいが、必須ではないことにも注意してください。
@Required public final MutableRealmInteger counter = MutableRealmInteger.valueOf(0L);
管理対象のMutableRealmIntegerへの参照は、取得元のモデル オブジェクトに適用されるすべての制約の対象となります。トランザクション内でのみミューテーションが可能で、それをサポートする Realm が閉じられている場合は無効になります。 isManaged()isValid()演算子と 演算子を使用して、MutableRealmInteger が一貫した状態であるかどうかを判断します。特に、管理対象のMutableRealmIntegerへの参照は、それが属するモデル オブジェクトへの参照を保持していることに注意してください。 たとえば、このコードでは次のようになります。
MutableRealmInteger counter = realm.where(Users.class).findFirst().counter;
counterは、取得元となったUserモデル オブジェクトへの参照を保持します。 両方へのすべての参照が到達できなくなるまで、どちらも Ged することはできません。
メソッドの概要
修飾子と型 | メソッドと説明 |
|---|---|
public final int |
|
public abstract void |
|
public final boolean | |
公開抽象Long | get ()
|
public final int | hashCode ()
|
public abstract void |
|
public final boolean | isNull () |
public static MutableRealmInteger | ofNull () 値が |
public final void |
|
public abstract void | |
public static MutableRealmInteger | |
public static MutableRealmInteger | 指定された初期値を持つ新しい管理されていない |
public static MutableRealmInteger |
継承されたメソッド
クラスjava.lang.Object から継承されたメソッド:
getClass、hashCode、equals、clone、toString、notify、notifyAll、wait、wait、wait、finalize
メソッドの詳細
compactTo
パラメーター
戻り値 -1、0、または 1 のいずれかになります。 |
減算
パラメーター
|
equals
2 つの パラメーター
戻り値 ターゲットが同じ値を持つ場合は true。 の上書き
|
得る
ハッシュコード
public final int hashCode () |
|---|
増分
パラメーター
|
isNull
ofNull
public static MutableRealmInteger ofNull () |
|---|
値が |
セット
パラメーター
|
valueOf
指定された初期値を持つ新しい管理されていない パラメーター
|
指定された初期値を持つ新しい管理されていない パラメーター
|