io.realm
実装されたインターフェース:
A MutableRealmInteger
is a mutable, Long -like numeric quantity. It behaves almost exactly as a reference to a Long . More specifically:
MutableRealmInteger
には値null
が含まれる場合があります。The equals operator compares the contained Long values.
null
-valuedMutableRealmInteger
are.equals
The compareTo operator compares the contained Long values. It considers
null
< any non-null
value.The increment and decrement operators throw IllegalStateException when applied to a
null
-valuedMutableRealmInteger
.
MutableRealmInteger
は、管理されたRealmModelオブジェクトのノードとして最も重要です。 管理する場合、増分演算子と減算演算子は次を実装します:
conflict free replicated data type : Simultaneous increments and decrements from multiple distributed clients will be aggregated correctly. For instance, if the value of counter
field for the object representing user "Fred" is currently 0, then the following code, executed on two different devices, simultaneously, even if connected by only a slow, unreliable network, will
により、常に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 () |
---|
値が |
セット
パラメーター
|
valueOf
指定された初期値を持つ新しい管理されていない パラメーター
|
指定された初期値を持つ新しい管理されていない パラメーター
|
指定された初期値を持つ新しい管理されていない パラメーター
|