MutableRealmInteger 클래스
io.realm
구현된 인터페이스:
은(는)MutableRealmInteger
변경 가능 하며 , -숫자 수량과 유사합니다. 이는 Long 에 대한 참조와 거의 동일하게 작동합니다. . 더 구체적으로 다음과 같습니다.
MutableRealmInteger
의 값은null
일 수 있습니다.등호 연산자는 포함된 Long 을 비교합니다. 값.
null
-값MutableRealmInteger
은.equals
입니다.compareTo 연산자 는 포함된 Long 을 비교합니다. 값.
null
<null
이 아닌 모든 값을 고려합니다.
MutableRealmInteger
는 managed RealmModel 객체 의 멤버로서 가장 흥미로운 요소입니다. managed 경우 증가 및 감소 연산자는 다음을 구현 합니다.
충돌 없는 복제된 데이터 유형 : 여러 분산된 클라이언트의 동시 증가 및 감소가 올바르게 애그리게이션됩니다. 예를 인스턴스 , 사용자 "Fred"를 나타내는 객체 의 counter
필드 값이 현재 0 인 경우, 두 개의 서로 다른 장치에서 동시에 실행되는 다음 코드는 느리고 신뢰할 수 없는 네트워크로만 연결된 경우에도 실행됩니다.
항상 counter
값이 결국 값 2로 수렴되도록 합니다.
MutableRealmInteger counter = realm.where(Users.class) .equalTo("name", Fred) .findFirst() .counter.increment(1);
설정하다(Long) 연산자 는 매우 주의해서 사용해야 합니다. 증분(long) 또는 decrement(long) 에 대한 이전 호출의 효과를 진압합니다. MutableRealmInteger
값은 항상 여러 기기에 걸쳐 수렴되지만, 수렴되는 구체적인 값은 작업이 발생한 실제 순서에 따라 달라집니다. 따라서 증가(long) 및 감소(long) 가 있는 설정하다(Long) 는 퍼지 카운팅이 허용되지 않는 한 권장되지 않습니다.
MutableRealmInteger
s는 기본 키가 아닐 수 있습니다. 해당 구현은 스레드로부터 안전하지 않습니다. 모든 managed Realm 객체와 마찬가지로 managed 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
이(가) 일관된 상태인지 확인합니다. 특히, managed MutableRealmInteger
에 대한 참고는 자신이 속한 객체에 대한 참고를 유지합니다. 예를 들어 이 코드에서는
MutableRealmInteger counter = realm.where(Users.class).findFirst().counter;
counter
은(는) 이를 가져온 User
모델 객체에 대한 참고를 보유합니다. 둘 다에 대한 모든 참고에 연결할 수 없을 때까지는 어느 쪽도 GC 처리할 수 없습니다.
메서드 요약
수정자 및 유형 | 메서드 및 설명 |
---|---|
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
메서드 세부 정보
비교 대상
매개변수
반환 -1, 0 또는 1(이 객체의 값이 대상의 값 <, = 또는 >)인지에 따라 달라집니다. |
감소
매개변수
|
같음
get
해시 코드
증가
인수 값을 추가하여 매개변수
|
IsNull
ofNull
public static MutableRealmInteger ofNull () |
---|
값이 null 인 관리되지 않는 새 MutableRealmInteger 를 만듭니다. |
세트
valueOf
지정된 초기값을 사용하여 관리되지 않는 새 매개변수
|
지정된 초기값을 사용하여 관리되지 않는 새 매개변수
|