RealmAny 클래스
이 페이지의 내용
io.realm
io.realm.RealmAny 는 다형성 Realm 값을 나타내는 데 사용됩니다.
이 클래스의 인스턴스는 특정 시점에 한정된 유형의 한정된 값을 저장합니다. 예를 들어 이중 값인 경우 asDouble()을 호출하여 해당 값을 추출할 수 있습니다. getType()을 호출하여 현재 저장된 값의 유형을 확인할 수 있습니다. double을 저장하지 않는 인스턴스에서 asDouble()을 호출하면 java.lang.ClassCastException 이 발생합니다. .
RealmAny는 Realm 객체를 제외한 지원되는 모든 유형에서 값 유형처럼 동작합니다. 이는 유형이 Realm 객체인 경우를 제외하고 Realm이 RealmAny 값에 대한 변경 사항을 유지하지 않음을 의미합니다. RealmAny가 Realm 객체를 보유할 때는 객체의 복사본이 아니라 해당 객체에 대한 참고만 보유합니다. 따라서 Realm 객체에 대한 수정 사항은 객체가 삭제된 경우를 포함하여 RealmAny 값에 반영됩니다. RealmAny 인스턴스는 변경할 수 없으므로 RealmAny 속성을 업데이트하려면 새 인스턴스가 필요합니다.
anObject.realmAnyAttribute = RealmAny.valueOf(5); anObject.realmAnyAttribute = RealmAny.valueOf(10.f);
특정 유형의 값을 추출하려면 저장된 유형에 대한 확실한 지식이 필요하다는 것을 이해하는 것이 중요합니다. 저장된 값과 동일한 유형이 아닌 특정 유형에 대해 게터 메서드를 호출하면 예외가 발생합니다. RealmAny 다형성을 처리할 때는 RealmAny 유형과 해당 내부 값 클래스 주위에 스위치 사례를 작성하는 것이 좋습니다.
RealmAny realmAny = aRealmObject.realmAnyAttribute; switch (realmAny.getType()) { case OBJECT: if (realmAny.getValueClass().equals(DogRealmModel.class)) { DogRealmModel value = realmAny.asRealmModel(DogRealmModel.class); } case INTEGER: performAction(realmAny.asInteger()); break; case BOOLEAN: performAction(realmAny.asBoolean()); break; case STRING: performAction(realmAny.asString()); break; case BINARY: performAction(realmAny.asBinary()); break; case DATE: performAction(realmAny.asDate()); break; case FLOAT: performAction(realmAny.asFloat()); break; case DOUBLE: performAction(realmAny.asDouble()); break; case DECIMAL128: performAction(realmAny.asDecimal128()); break; case OBJECT_ID: performAction(realmAny.asObjectId()); break; case UUID: performAction(realmAny.asUUID()); break; case NULL: performNullAction(); break; }
getValueClass()는 RealmAny 인스턴스에 의해 래핑된 내부 값을 나타내는 Java 클래스를 반환합니다. 결과 클래스가 io.realm.RealmModel 의 구현인 경우 asRealmModel()을 호출하여 RealmAny 값을 Realm 객체 참고로 캐스팅할 수 있습니다.
RealmAny 값도 정렬할 수 있습니다. 다양한 RealmAny 유형 간에 사용되는 정렬 순서는 가장 낮은 것부터 가장 높은 것까지입니다.
부울
바이트/단순/정수/긴/부동/이중/십진수128
byte[]/String
날짜
ObjectId
UUID
RealmObject
이는 RealmQuery.sort(String) , RealmQuery.minRealmAny(String) 및 RealmQuery.maxRealmAny(String) 가 어떻게 일. 특히 min()
및 max()
은(는) 숫자 필드를 고려할 뿐만 아니라 정렬 순서를 사용하여 '가장 큰' 값과 '가장 낮은' 값을 결정합니다.
중첩된 클래스 요약
수정자 및 유형 | 클래스 및 설명 |
---|---|
public static final |
메서드 요약
수정자 및 유형 | 메서드 및 설명 |
---|---|
공개 바이트 | asBinary () 이 값을 byte[]로 가져오면 1이면 예외를 발생시킵니다. |
공개 부울 | asBoolean () 이 값을 부울(Boolean)로 가져오면 1이면 예외를 발생시킵니다. |
공개 바이트 | asByte () 이 값을 바이트로 가져오면 바이트로 가져오고, 그렇지 않으면 예외를 발생시킵니다. |
asDate () 이 값을 날짜로 가져오면 1이면 예외가 발생합니다. | |
public Decimal128 | asDecimal128 () 이 값을 Decimal128이면 1로 가져오고, 그렇지 않으면 예외를 발생시킵니다. |
public Double | asDouble () 이 값을 Double인 경우 1로 가져오고, 그렇지 않으면 예외를 발생시킵니다. |
public Float | asFloat () 이 값을 Float로 가져오면 1이면 예외를 발생시킵니다. |
asInteger () 이 값을 1이면 Integer로 가져오고, 그렇지 않으면 예외를 발생시킵니다. | |
public Long | asLong () 이 값을 Long(1)이면 Long으로 가져오고, 그렇지 않으면 예외를 발생시킵니다. |
공개 ObjectId | asObjectId () 이 값을 ObjectId(일 경우)로 가져오고, 그렇지 않으면 예외를 발생시킵니다. |
public T | 이 값이 1인 경우 RealmModel로 가져오고, 그렇지 않으면 예외가 발생합니다. |
public 짧은 | asShort () 이 값을 1이면 짧은 으로 가져오고, 그렇지 않으면 예외를 발생시킵니다. |
공개 string | asString () 이 값을 문자열로 가져오면 1이면 예외를 발생시킵니다. |
asUUID () 이 값을 UUID로 가져오면 1이 아니면 예외가 발생합니다. | |
public final boolean | |
public final boolean | |
public RealmAny.Type | getType () 이 RealmAny 객체의 내부 유형을 가져옵니다. |
public 클래스 | 이 RealmAny 값으로 래핑된 내부 값을 나타내는 Java 클래스를 반환합니다. |
public final int | hashCode ()
|
공개 부울 | isNull () 내부 값이 null이면 true를 반환하고, 그렇지 않으면 false를 반환합니다. |
public static RealmAny | nullValue () null 값의 새 RealmAny를 만듭니다. |
공개 string | toString () |
public static RealmAny | 지정된 값으로 새 RealmAny를 만듭니다. |
public static RealmAny | 지정된 값으로 새 RealmAny를 만듭니다. |
public static RealmAny | |
public static RealmAny | 지정된 값으로 새 RealmAny를 만듭니다. |
public static RealmAny | |
public static RealmAny | |
public static RealmAny | |
public static RealmAny | |
public static RealmAny | |
public static RealmAny | |
public static RealmAny | |
public static RealmAny |
상속된 메서드
클래스 java.lang.Object 에서 상속된 메서드 :
getClass
,hashCode
,equals
,clone
,toString
,notify
,notifyAll
,wait
,wait
,wait
,finalize
메서드 세부 정보
asBinary
public byte asBinary () |
---|
asBoolean
asByte
이 값을 바이트로 가져오면 바이트로 가져오고, 그렇지 않으면 예외를 발생시킵니다. 반환 바이트. 스로우
|
asDate
asDecimal128
public Decimal128 asDecimal128 () |
---|
이 값을 Decimal128이면 1로 가져오고, 그렇지 않으면 예외를 발생시킵니다. 반환 Decimal128. 스로우
|
asDouble
이 값을 Double인 경우 1로 가져오고, 그렇지 않으면 예외를 발생시킵니다. 반환 더블. 스로우
|
asFloat
asInteger
이 값을 1이면 Integer로 가져오고, 그렇지 않으면 예외를 발생시킵니다. 반환 정수. 스로우
|
asLong
이 값을 Long(1)이면 Long으로 가져오고, 그렇지 않으면 예외를 발생시킵니다. 반환 Long. 스로우
|
asObjectId
public ObjectId asObjectId () |
---|
이 값을 ObjectId(일 경우)로 가져오고, 그렇지 않으면 예외를 발생시킵니다. 반환 ObjectId. 스로우
|
asRealmModel
이 값이 1인 경우 RealmModel로 가져오고, 그렇지 않으면 예외가 발생합니다. 유형 매개변수
반환 T 유형의 RealmModel입니다. 스로우
|
asShot
asString
asUUID
forceedEquals
같음
getType
public RealmAny.Type getType () |
---|
이 RealmAny 객체의 내부 유형을 가져옵니다. 반환 내부 RealmAny.Type |
getValueClass
public Class getValueClass () |
---|
이 RealmAny 값으로 래핑된 내부 값을 나타내는 Java 클래스를 반환합니다. 반환 이 RealmAny 값으로 래핑된 내부 값을 나타내는 클래스입니다. |
해시 코드
public final int hashCode () |
---|
반환 대상이 동일한 값을 가지면 true 스로우
재정의
|
IsNull
public boolean isNull () |
---|
내부 값이 null이면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 반환 내부 값이 null이면 true이고, 그렇지 않으면 false입니다. |
nullValue
toString
valueOf
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은 RealmAny.Type.DECIMAL128 이 되고, 그렇지 않으면 RealmAny.Type.null 이 됩니다. 매개변수
반환 Decimal128의 새로운 RealmAny입니다. |
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은 RealmAny.Type.OBJECT_ID 가 되고, 그렇지 않으면 RealmAny.Type.NULL 이 됩니다. 매개변수
반환 ObjectId의 새 RealmAny입니다. |
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은 RealmAny.Type.DATE , 그렇지 않으면 RealmAny.Type.NULL 이 됩니다. 매개변수
반환 날짜의 새로운 RealmAny. |
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은 RealmAny.Type.BINARY , 그렇지 않으면 RealmAny.Type.null 이 됩니다. 매개변수
반환 바이트[]의 새로운 RealmAny입니다. |
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은 RealmAny.Type.STRING , 그렇지 않으면 RealmAny.Type.null 이 됩니다. 매개변수
반환 문자열의 새로운 RealmAny. |
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은 RealmAny.Type.DOUBLE 이 되고, 그렇지 않으면 RealmAny.Type.null 이 됩니다. 매개변수
반환 더블의 새로운 RealmAny. |
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은 RealmAny.Type.FLOAT , 그렇지 않으면 RealmAny.Type.null 이 됩니다. 매개변수
반환 Float의 새로운 RealmAny. |
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은 RealmAny.Type.BOOLEAN , 그렇지 않으면 RealmAny.Type.null 이 됩니다. 매개변수
반환 부울의 새로운 RealmAny. |
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은 RealmAny.Type.INTEGER , 그렇지 않으면 RealmAny.Type.null 이 됩니다. 매개변수
반환 Long의 새로운 RealmAny. |
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은 RealmAny.Type.INTEGER , 그렇지 않으면 RealmAny.Type.null 이 됩니다. 매개변수
반환 정수의 새로운 RealmAny입니다. |
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은 RealmAny.Type.INTEGER , 그렇지 않으면 RealmAny.Type.null 이 됩니다. 매개변수
반환 짧은 RealmAny의 새로운. |
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은 RealmAny.Type.INTEGER , 그렇지 않으면 RealmAny.Type.null 이 됩니다. 매개변수
반환 바이트 값을 포함하는 새 RealmAny |