MutableRealmInteger 클래스
- java.lang.Object
-
- io.realm.MutableRealmInteger
-
- 구현된 모든 인터페이스:
io.realm.internal.ManageableObject
,Comparable<MutableRealmInteger>
public abstract class MutableRealmInteger extends Object implements Comparable<MutableRealmInteger>, io.realm.internal.ManageableObject
MutableRealmInteger
은Long
와 같은 변경 가능한 숫자 수량입니다. 이는Long
에 대한 참고와 거의 똑같이 동작합니다. 보다 구체적으로 다음과 같습니다.MutableRealmInteger
의 값은null
일 수 있습니다.equals(java.lang.Object)
연산자는 포함된Long
값을 비교합니다.null
-값MutableRealmInteger
은.equals
입니다.compareTo(io.realm.MutableRealmInteger)
연산자는 포함된Long
값을 비교합니다.null
<null
이 아닌 모든 값을 고려합니다.increment(long)
및decrement(long)
연산자는null
값MutableRealmInteger
에 적용되면IllegalStateException
가 발생합니다.
MutableRealmInteger
s는 managedRealmModel
객체로서 가장 흥미로운 작업입니다. managed, theincrement(long)
및decrement(long)
연산자는 충돌 없는 복제 데이터 유형 을 구현합니다: 여러 분산된 클라이언트의 동시 증가 및 감소는 올바르게 집계됩니다. 인스턴스, 사용자 "Fred"를 나타내는 객체의counter
필드 값이 현재 0인 경우, 느리고 신뢰할 수 없는 네트워크로만 연결되어 있더라도 다음 코드를 두 대의 서로 다른 장치에서 동시에 실행하면 항상 다음이 발생합니다.counter
의 값은 결국 값 2로 수렴됩니다.MutableRealmInteger counter = realm.where(Users.class) .equalTo("name", Fred) .findFirst() .counter.increment(1);
set(Long)
연산자는 매우 주의해서 사용해야 합니다.increment(long)
또는decrement(long)
에 대한 이전 호출의 효과를 무효화합니다.MutableRealmInteger
값은 항상 여러 기기에 걸쳐 수렴되지만, 수렴되는 구체적인 값은 작업이 발생한 실제 순서에 따라 달라집니다. 따라서 퍼지 계산이 허용되지 않는 한set(Long)
과increment(long)
및decrement(long)
를 혼합하는 것은 권장되지 않습니다.MutableRealmInteger
s는 기본 키가 아닐 수 있습니다. 해당 구현은 스레드로부터 안전하지 않습니다. 모든 managed Realm 객체와 마찬가지로 managedMutableRealmInteger
은 스레드 간에 이동할 수 없습니다. 관리되지 않는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
이(가) 일관된 상태인지 확인합니다. 특히, managedMutableRealmInteger
에 대한 참고는 자신이 속한 객체에 대한 참고를 유지합니다. 예를 들어 이 코드에서는MutableRealmInteger counter = realm.where(Users.class).findFirst().counter;
counter
은(는) 이를 가져온User
모델 객체에 대한 참고를 보유합니다. 둘 다에 대한 모든 참고에 연결할 수 없을 때까지는 어느 쪽도 GC 처리할 수 없습니다.
-
-
메서드 요약
모든 메서드 정적 메서드 인스턴스 메서드 추상 메서드 구체적인 방법 수정자 및 유형 메서드 설명 int
compareTo(MutableRealmInteger o)
MutableRealmInteger
s는 해당 값을 기준으로 엄격하게 비교됩니다.abstract void
decrement(long dec)
MutableRealmInteger
를 줄이고 인수의 값을 뺍니다.boolean
equals(Object o)
두 개의MutableRealmInteger
는longValues
가 동일한 경우에만.equals
입니다.abstract Long
get()
MutableRealmInteger
값을 가져옵니다.int
hashCode()
MutableRealmInteger
의 해시 코드는 정확히 해당 값의 해시 코드입니다.abstract void
increment(long inc)
인수 값을 추가하여MutableRealmInteger
를 증가시킵니다.boolean
isNull()
static MutableRealmInteger
ofNull()
값이null
인 관리되지 않는 새MutableRealmInteger
를 만듭니다.void
set(long newValue)
MutableRealmInteger
값을 설정합니다.abstract void
set(Long newValue)
MutableRealmInteger
값을 설정합니다.static MutableRealmInteger
valueOf(long value)
지정된 초기값을 사용하여 관리되지 않는 새MutableRealmInteger
를 만듭니다.static MutableRealmInteger
valueOf(Long value)
지정된 초기값을 사용하여 관리되지 않는 새MutableRealmInteger
를 만듭니다.static MutableRealmInteger
valueOf(String value)
지정된 초기값을 사용하여 관리되지 않는 새MutableRealmInteger
를 만듭니다.
-
-
-
메서드 세부 정보
-
valueOf
public static MutableRealmInteger valueOf(Long value)
지정된 초기값을 사용하여 관리되지 않는 새MutableRealmInteger
를 만듭니다.- 매개변수:
value
- 초기값.
-
ofNull
public static MutableRealmInteger ofNull()
값이null
인 관리되지 않는 새MutableRealmInteger
를 만듭니다.
-
valueOf
public static MutableRealmInteger valueOf(long value)
지정된 초기값을 사용하여 관리되지 않는 새MutableRealmInteger
를 만듭니다.- 매개변수:
value
- 초기값.
-
valueOf
public static MutableRealmInteger valueOf(String value)
지정된 초기값을 사용하여 관리되지 않는 새MutableRealmInteger
를 만듭니다.- 매개변수:
value
- 초기값:Long.parseLong(java.lang.String, int)
로 구문 분석.
-
세트
public abstract void set(@Nullable Long newValue)
MutableRealmInteger
값을 설정합니다.set
를 호출하면MutableRealmInteger
가 제공된 값으로 강제로 설정됩니다. 이렇게 하면set
호출 전에 인식된increment(long)
및decrement(long)
호출의 효과가 사라집니다.- 매개변수:
newValue
- 새 값.
-
세트
public final void set(long newValue)
MutableRealmInteger
값을 설정합니다.set(java.lang.Long)
를 호출하면MutableRealmInteger
가 제공된 값으로 강제로 설정됩니다. 이렇게 하면 호출increment(long)
decrement(long)
set(java.lang.Long)
전에 인식된 및 호출의 효과가 사라집니다.- 매개변수:
newValue
- 새 값.
-
증가
public abstract void increment(long inc)
인수 값을 추가하여MutableRealmInteger
를 증가시킵니다. 모든 장치의 증가/감소가 새 값에 반영되며, 이 값은 수렴이 보장됩니다.- 매개변수:
inc
-MutableRealmInteger
에 추가할 수량입니다.
-
감소
public abstract void decrement(long dec)
MutableRealmInteger
를 줄이고 인수의 값을 뺍니다. 모든 장치의 증가/감소가 새 값에 반영되며, 이 값은 수렴이 보장됩니다.- 매개변수:
dec
-MutableRealmInteger
에서 뺄 수량입니다.
-
IsNull
public final boolean isNull()
- 반환합니다:
get()
가null
를 반환하는 경우에만 true 입니다.
-
비교 대상
public final int compareTo(MutableRealmInteger o)
MutableRealmInteger
s는 해당 값을 기준으로 엄격하게 비교됩니다. Null은MutableRealmInteger
및null
<null
가 아닌 모든 값에 대한 유효한 값입니다.- 다음에 의해 지정됩니다:
compareTo
인터페이스에서Comparable<MutableRealmInteger>
- 매개변수:
o
- 비교 대상- 반환합니다:
- -1, 0 또는 1(이 객체의 값이 대상의 값 <, = 또는 >)인지에 따라 달라집니다.
-
해시 코드
public final int hashCode()
MutableRealmInteger
의 해시 코드는 정확히 해당 값의 해시 코드입니다.
-
-