クラス MutableRealmInteger
io.realm
実装されたインターフェース:
は可変で、 Long のような数値量。MutableRealmInteger
は、 Long への参照とほぼ正確に動作します 。具体的には、次のとおりです。
MutableRealmInteger
には値null
が含まれる場合があります。インクリメント 演算子と デクリメント 演算子は IllexalStateException をスローします
null
MutableRealmInteger
値 に適用された場合。
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 | |
public abstract 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 () |
---|
値が null である、新しい管理されていないMutableRealmInteger を作成します。 |
セット
パラメーター
|
valueOf
指定された初期値を持つ新しい管理されていない パラメーター
|
指定された初期値を持つ新しい管理されていない パラメーター
|