io.realm
Interfaces implementadas:
A MutableRealmInteger Es una cantidad numérica mutable, similar a Long. Se comporta casi exactamente como una referencia a Long. Más específicamente:
Un
MutableRealmIntegerpuede tener el valornull.El operador igual compara los valores Long contenidos.
nullLos valores con valorMutableRealmIntegerson.equalsEl operador compareTo compara los valores Long contenidos. Considera
null< cualquiernullvalor distinto de.Los operadores de incremento y decremento arrojan IllegalStateException cuando se aplican a un
nullconMutableRealmIntegervalor.
MutableRealmInteger Los s son más interesantes como miembros de un objeto RealmModel administrado. Cuando se administran, los operadores de incremento y decremento implementan un
Tipo de datos replicado sin conflictos: Los incrementos y decrementos simultáneos de múltiples clientes distribuidos se agregarán correctamente. Por ejemplo, si el valor del counter campo para el objeto que representa al usuario "Fred" es,0 el siguiente código, ejecutado simultáneamente en dos dispositivos diferentes, incluso si están conectados a una red lenta y poco fiable,...
siempre hace que el valor de counter converja, eventualmente, al 2 valor.
MutableRealmInteger counter = realm.where(Users.class) .equalTo("name", Fred) .findFirst() .counter.increment(1);
Tenga en cuenta que el operador set(Long) debe usarse con sumo cuidado. Anulará los efectos de cualquier llamada previa a increment(long) o decrement(long). Aunque el valor de un MutableRealmInteger siempre convergerá entre dispositivos, el valor específico al que converge dependerá del orden real en que se realizaron las operaciones. Por lo tanto, no se recomienda combinar set(Long) con increment(long) y decrement(long), a menos que el conteo difuso sea aceptable.
MutableRealmInteger Los objetos no pueden ser claves primarias. Sus implementaciones no son seguras para subprocesos. Al igual que todos los objetos administrados de Realm, los objetos MutableRealmInteger administrados no pueden moverse entre subprocesos. Los objetos MutableRealmInteger no administrados sí pueden moverse entre subprocesos, pero requieren una publicación segura.
En una clase modelo, un MutableRealmInteger siempre debe declararse final . Por ejemplo:
public final MutableRealmInteger counter = MutableRealmInteger.ofNull();
Aunque inicializar MutableRealmInteger como null puede funcionar en circunstancias muy limitadas, se recomienda a los desarrolladores
no hacerlo:
public final MutableRealmInteger counter = null; // DO NOT DO THIS!
Tenga en cuenta también que cuando un MutableRealmInteger es @Required , es mejor, aunque no obligatorio, inicializarlo con un valor distinto de nulo.
@Required público final MutableRealmInteger contador = MutableRealmInteger.valueOf(0L);
Una referencia a un MutableRealmInteger administrado está sujeta a todas las restricciones aplicables al objeto de modelo del que se obtuvo: solo se puede mutar dentro de una transacción y deja de ser válida si se cierra el dominio que la respalda. Utilice los operadores isManaged() y isValid() para determinar si un MutableRealmInteger es consistente. Tenga en cuenta, en particular, que una referencia a un MutableRealmInteger administrado conserva una referencia al objeto de modelo al que pertenece. Por ejemplo, en este código:
MutableRealmInteger counter = realm.where(Users.class).findFirst().counter;
El counter contiene una referencia al objeto de modelo User del que se obtuvo. No se puede recolectar basura de ninguno de los dos hasta que todas las referencias a ambos sean inaccesibles.
Resumen del método
Modificador y Tipo | Método y descripción |
|---|---|
int final público |
|
vacío abstracto público | Disminuye |
booleanofinal público | |
get () Obtiene el valor | |
int final público | hashCode () El código hash de un |
vacío abstracto público | Incrementa |
booleanofinal público | isNull () |
ofNull () Crea un nuevo | |
vacío final público | Establece el valor |
vacío abstracto público | |
Crea un nuevo | |
Métodos heredados
Detalle del método
comparar con
Parámetros
Devuelve -1, 0 o 1, dependiendo de si el valor de este objeto es <, = o > al del objetivo. |
decremento
Disminuye Parámetros
|
equals
Obtener
código hash
incremento
Incrementa Parámetros
|
es nulo
deNull
public static MutableRealmInteger ofNull () |
|---|
Crea un nuevo |
conjunto
Establece el Parámetros
|
valorDe
Crea un nuevo Parámetros
|
Crea un nuevo Parámetros
|
Crea un nuevo Parámetros
|