Docs 菜单
Docs 主页
/ /
Atlas Device SDKs
/ / /

MutableRealmInteger 类

在此页面上

  • io.realm
  • 方法摘要
  • 继承方法
  • 方法详细信息
  • compareTo
  • 递减
  • 等于
  • 获取
  • hashCode
  • 增量
  • IsNull
  • ofNull
  • 的值
java.lang.Object
io.realm.MutableRealmInteger

实现的接口:

  • java.lang.Comparable

MutableRealmInteger是一个可变、 长整型 -类似数字数量。它的行为几乎与对 Long 的引用完全相同 。更具体地说:

MutableRealmInteger 作为托管RealmModel对象的成员,s 是最有趣的。 当托管时,递增递减操作符实现

无冲突复制数据类型 :来自多个分布式客户端的并行递增和递减将正确聚合。实例,如果表示用户“Fred”的对象的counter字段的值当前为0 ,那么在两个不同设备上同时执行以下代码(即使仅通过慢速且不可靠的网络连接),也会

始终会导致counter的值收敛,并最终收敛到值 2。

MutableRealmInteger counter = realm.where(Users.class)
.equalTo("name", Fred)
.findFirst()
.counter.increment(1);

请注意,使用设立(长整型)操作符时必须格外小心。 它将消除之前调用increment(long)decrement(long)的任何效果。 尽管MutableRealmInteger的值在跨设备时始终会收敛,但其收敛的具体值将取决于操作发生的实际顺序。 因此,不建议将设立(Long)increment(long)decrement(long)混合使用,除非可以接受模糊计数。

MutableRealmInteger s 不能为主键。它们的实现不是线程安全的。 与所有托管 Realm 对象一样,托管MutableRealmInteger可能无法跨线程移动。 非托管MutableRealmInteger可以跨线程移动,但需要安全发布。

模型类中的MutableRealmInteger必须始终声明为final 。 实例:

public final MutableRealmInteger counter = MutableRealmInteger.ofNull();

虽然将MutableRealmInteger初始化为null可能会在非常有限的情况下起作用,但建议开发者

要这样做:

public final MutableRealmInteger counter = null; // DO NOT DO THIS!

另请注意,当MutableRealmInteger@Required时,最好(但不是必需)使用非空值对其进行初始化。

@Required public final MutableRealmInteger counter = MutableRealmInteger.valueOf(0L);

对托管MutableRealmInteger的引用受到适用于从中获取该引用的模型对象的所有约束的约束:它只能在事务中进行更改,并且如果支持它的 Realm 已关闭,则该引用将变为无效。 使用isManaged()isValid()操作符可确定MutableRealmInteger是否处于一致状态。 请特别注意,对托管MutableRealmInteger的引用保留对其所属模型对象的引用。 例如在以下代码中:

MutableRealmInteger counter = realm.where(Users.class).findFirst().counter;

counter包含对其从中获取User模型对象的引用。 直到对两者的所有引用都无法访问之前,才能对两者进行 GC。

修饰符和类型
方法和说明
public final int

MutableRealmInteger 严格按其值进行比较。

public abstract void
long dec
)

递减MutableRealmInteger ,即减去参数的值。

public final boolean

当且仅当两个MutableRealmIntegerlongValues相等时,它们才是.equals

public abstract Long
get ()

获取MutableRealmInteger值。

public final int

MutableRealmInteger的哈希码正是其值的哈希码。

public abstract void
long inc
)

递增MutableRealmInteger ,添加参数的值。

public final boolean
public static MutableRealmInteger

创建一个新的非托管MutableRealmInteger ,其值为null

public final void
set (
long newValue
)

设置MutableRealmInteger值。

public abstract void
set (
Long newValue
)

设置MutableRealmInteger值。

public static MutableRealmInteger
String value
)

使用指定的初始值创建一个新的非托管MutableRealmInteger

public static MutableRealmInteger
long value
)

使用指定的初始值创建一个新的非托管MutableRealmInteger

public static MutableRealmInteger
Long value
)

使用指定的初始值创建一个新的非托管MutableRealmInteger

  • 从类 java.lang.Object 继承的方法 :getClasshashCodeequalsclonetoStringnotifynotifyAllwaitwaitwaitfinalize

public final int compareTo (
)

MutableRealmInteger 严格按其值进行比较。 Null 是MutableRealmIntegernull的合法值 < 任何非null

参数

  • o - 比较目标

返回:

-1、0 或 1,具体取决于此对象的值是 <、= 还是 > 目标的值。

public abstract void decrement (
long dec
)

递减MutableRealmInteger ,即减去参数的值。 所有设备的递增/递减都会反映在新值中,并且保证收敛。

参数

  • dec - 要从MutableRealmInteger中减去的数量。

public final boolean equals (
)

当且仅当两个MutableRealmIntegerlongValues相等时,它们才是.equals

参数

  • o - 比较目标

返回:

如果目标具有相同的值,则为 true。

覆盖

equals Object 类中

public abstract Long get ()

获取MutableRealmInteger值。 该值可以为 null。

返回:

值。

public final int hashCode ()

MutableRealmInteger的哈希码正是其值的哈希码。

返回:

如果目标具有相同的值,则为 true。

覆盖

hashCode Object 类中

public abstract void increment (
long inc
)

递增MutableRealmInteger ,添加参数的值。 所有设备的递增/递减都会反映在新值中,并且保证收敛。

参数

  • inc - 要添加到MutableRealmInteger的数量。

public final boolean isNull ()

返回:

当且仅当get返回null时才为 true。

public static MutableRealmInteger ofNull ()

创建一个新的非托管MutableRealmInteger ,其值为null
public final void set (
long newValue
)

设置MutableRealmInteger值。 调用set会强制将MutableRealmInteger设置为提供的值。 这样做会消除在调用 set 之前感知到的任何 递增 递减 调用的效果。

参数

  • newValue — 新值。

public abstract void set (
Long newValue
)

设置MutableRealmInteger值。 调用set会强制将MutableRealmInteger设置为提供的值。 这样做会消除在调用set之前感知的任何递增递减调用的效果。

参数

  • newValue — 新值。

String value
)

使用指定的初始值创建一个新的非托管MutableRealmInteger

参数

long value
)

使用指定的初始值创建一个新的非托管MutableRealmInteger

参数

  • value - 初始值。

Long value
)

使用指定的初始值创建一个新的非托管MutableRealmInteger

参数

  • value - 初始值。

后退

MapChangeSet