Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ /
Atlas Device SDK
/ / /

クラス MutableRealmInteger

java.lang.Object
io.realm.MutableRealmInteger

実装されたインターフェース:

  • java.lang.Comparable

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 -valued MutableRealmInteger 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 -valued MutableRealmInteger .

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();

MutableRealmIntegernull として初期化すると、非常に限定的な状況になる可能性がありますが、開発者には次のことをお勧めします。

ないでください 。

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

MutableRealmInteger は、 の値によって厳密に比較されます。

public abstract void

long dec
)

MutableRealmIntegerから を減算し、 引数の値を減算します。

public final boolean

2 つのMutableRealmIntegerは、 longValuesが等しい場合にのみ.equalsになります。

public abstract Long

get ()

MutableRealmInteger値を取得します。

public final int

MutableRealmIntegerのハッシュ コードは、正確にその値のハッシュ コードです。

public abstract void

long inc
)

MutableRealmIntegerを増加させ、 引数の値を追加します。

public final boolean

値がnullである、新しい管理されていないMutableRealmIntegerを作成します。

public final void

set (
long newValue
)

MutableRealmInteger値を設定します。

public abstract void

set (
Long newValue
)

MutableRealmInteger値を設定します。

String value
)

指定された初期値を持つ新しい管理されていないMutableRealmIntegerを作成します。

long value
)

指定された初期値を持つ新しい管理されていないMutableRealmIntegerを作成します。

Long value
)

指定された初期値を持つ新しい管理されていないMutableRealmIntegerを作成します。

  • クラスjava.lang.Object から継承されたメソッド:getClasshashCodeequalsclonetoStringnotifynotifyAllwaitwaitwaitfinalize

public final int compareTo (
)

MutableRealmInteger は、 の値によって厳密に比較されます。 null はMutableRealmIntegerおよびnull < null以外の値の正規値です

パラメーター

  • o - 比較ターゲット

戻り値

-1、0、または 1 のいずれかになります。

public abstract void decrement (
long dec
)

MutableRealmIntegerから を減算し、 引数の値を減算します。 すべてのデバイスからの増加または減少は新しい 値に反映され、変換されることが保証されます。

パラメーター

  • dec - MutableRealmIntegerから差し引かれる量。

public final boolean equals (
)

2 つのMutableRealmIntegerは、 longValuesが等しい場合にのみ.equalsになります。

パラメーター

  • o - 比較ターゲット

戻り値

ターゲットが同じ値を持つ場合は true。

の上書き

equals クラスオブジェクト内

public abstract Long get ()

MutableRealmInteger値を取得します。 値は null にすることができます。

戻り値

値。

public final int hashCode ()

MutableRealmIntegerのハッシュ コードは、正確にその値のハッシュ コードです。

戻り値

ターゲットが同じ値を持つ場合は true。

の上書き

hashCode クラスオブジェクト内

public abstract void increment (
long inc
)

MutableRealmIntegerを増加させ、 引数の値を追加します。 すべてのデバイスからの増加または減少は新しい 値に反映され、変換されることが保証されます。

パラメーター

  • inc - MutableRealmIntegerに追加する量。

public final boolean isNull ()

戻り値

の場合は true で、getnull を返す場合にのみ true 。

public static MutableRealmInteger ofNull ()

値がnullである、新しい管理されていないMutableRealmIntegerを作成します。

public final void set (
long newValue
)

MutableRealmInteger 値を設定します。set を呼び出すと、MutableRealmInteger が指定された値に強制的に設定されます。こうすると、 を設定する呼び出しの前に認識された増分と減算への呼び出しの効果が消去されます。

パラメーター

  • newValue - 新しい値。

public abstract void set (
Long newValue
)

MutableRealmInteger値を設定します。set を呼び出すと、MutableRealmInteger が指定された値に強制的に設定されます。こうすると、 setを呼び出す前に認識されていた増分と減算を行うための呼び出しの効果が無効になります。

パラメーター

  • newValue - 新しい値。

String value
)

指定された初期値を持つ新しい管理されていないMutableRealmIntegerを作成します。

パラメーター

long value
)

指定された初期値を持つ新しい管理されていないMutableRealmIntegerを作成します。

パラメーター

  • value - 初期値。

Long value
)

指定された初期値を持つ新しい管理されていないMutableRealmIntegerを作成します。

パラメーター

  • value - 初期値。

戻る

Map ChangeSet

項目一覧