RealmAny 클래스
- java.lang.Object
-
- io.realm.RealmAny
-
public class RealmAny extends Object
RealmAny
다형성 Realm 값을 나타내는 데 사용됩니다.이 클래스의 인스턴스는 언제든지 특정 시점에 한정 유형의 한정 값을 저장합니다. If, for instance, that is an double value, you may call asDouble() to extract that value. getType()을 호출하여 현재 저장된 값의 유형을 확인할 수 있습니다. double을 저장하지 않는 인스턴스에서 asDouble()을 호출하면
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 클래스를 반환합니다. 결과 클래스가
RealmModel
의 구현인 경우 asRealmModel()을 호출하여 RealmAny 값을 Realm 객체 참고로 캐스팅할 수 있습니다.RealmAny 값도 정렬할 수 있습니다. 다양한 RealmAny 유형 간에 사용되는 정렬 순서는 가장 낮은 것부터 가장 높은 것까지입니다.
- 부울
- 바이트/단순/정수/긴/부동/이중/십진수128
- byte[]/String
- 날짜
- ObjectId
- UUID
- RealmObject
RealmQuery.sort(String)
,RealmQuery.minRealmAny(String)
andRealmQuery.maxRealmAny(String)
work. 특히min()
및max()
은 숫자 필드를 고려할 뿐만 아니라 정렬 순서를 사용하여 "가장 큰" 값 또는 "가장 낮은" 값을 결정합니다.
-
-
중첩된 클래스 요약
중첩된 클래스 수정자 및 유형 클래스 설명 static class
RealmAny.Type
RealmAny에서 지원하는 모든 유형을 설명하는 열거형입니다.
-
메서드 요약
모든 메서드 정적 메서드 인스턴스 메서드 구체적인 방법 수정자 및 유형 메서드 설명 byte[]
asBinary()
이 값을 byte[]로 가져오면 1이면 예외를 발생시킵니다.Boolean
asBoolean()
이 값을 부울(Boolean)로 가져오면 1이면 예외를 발생시킵니다.Byte
asByte()
이 값을 바이트로 가져오면 바이트로 가져오고, 그렇지 않으면 예외를 발생시킵니다.Date
asDate()
이 값을 날짜로 가져오면 1이면 예외가 발생합니다.Decimal128
asDecimal128()
이 값을 Decimal128이면 1로 가져오고, 그렇지 않으면 예외를 발생시킵니다.Double
asDouble()
이 값을 Double인 경우 1로 가져오고, 그렇지 않으면 예외를 발생시킵니다.Float
asFloat()
이 값을 Float로 가져오면 1이면 예외를 발생시킵니다.Integer
asInteger()
이 값을 1이면 Integer로 가져오고, 그렇지 않으면 예외를 발생시킵니다.Long
asLong()
이 값을 Long(1)이면 Long으로 가져오고, 그렇지 않으면 예외를 발생시킵니다.ObjectId
asObjectId()
이 값을 ObjectId(일 경우)로 가져오고, 그렇지 않으면 예외를 발생시킵니다.<T extends RealmModel>
TasRealmModel(Class<T> clazz)
이 값이 1인 경우 RealmModel로 가져오고, 그렇지 않으면 예외가 발생합니다.Short
asShort()
이 값을 1이면 짧은 으로 가져오고, 그렇지 않으면 예외를 발생시킵니다.String
asString()
이 값을 문자열로 가져오면 1이면 예외를 발생시킵니다.UUID
asUUID()
이 값을 UUID로 가져오면 1이 아니면 예외가 발생합니다.boolean
coercedEquals(RealmAny other)
boolean
equals(Object other)
두 개의RealmAny
은 내용이 동일한 경우에만.equals
입니다.RealmAny.Type
getType()
이 RealmAny 객체의 내부 유형을 가져옵니다.Class<?>
getValueClass()
이 RealmAny 값으로 래핑된 내부 값을 나타내는 Java 클래스를 반환합니다.int
hashCode()
RealmAny
의 해시 코드는 정확히 해당 값의 해시 코드입니다.boolean
isNull()
내부 값이 null이면 true를 반환하고, 그렇지 않으면 false를 반환합니다.static RealmAny
nullValue()
null 값의 새 RealmAny를 만듭니다.String
toString()
static RealmAny
valueOf(byte[] value)
지정된 값으로 새 RealmAny를 만듭니다.static RealmAny
valueOf(RealmModel value)
지정된 값으로 새 RealmAny를 만듭니다.static RealmAny
valueOf(Boolean value)
지정된 값으로 새 RealmAny를 만듭니다.static RealmAny
valueOf(Byte value)
지정된 값으로 새 RealmAny를 만듭니다.static RealmAny
valueOf(Double value)
지정된 값으로 새 RealmAny를 만듭니다.static RealmAny
valueOf(Float value)
지정된 값으로 새 RealmAny를 만듭니다.static RealmAny
valueOf(Integer value)
지정된 값으로 새 RealmAny를 만듭니다.static RealmAny
valueOf(Long value)
지정된 값으로 새 RealmAny를 만듭니다.static RealmAny
valueOf(Short value)
지정된 값으로 새 RealmAny를 만듭니다.static RealmAny
valueOf(String value)
지정된 값으로 새 RealmAny를 만듭니다.static RealmAny
valueOf(Date value)
지정된 값으로 새 RealmAny를 만듭니다.static RealmAny
valueOf(UUID value)
지정된 값으로 새 RealmAny를 만듭니다.static RealmAny
valueOf(Decimal128 value)
지정된 값으로 새 RealmAny를 만듭니다.static RealmAny
valueOf(ObjectId value)
지정된 값으로 새 RealmAny를 만듭니다.
-
-
-
메서드 세부 정보
-
getType
public RealmAny.Type getType()
이 RealmAny 객체의 내부 유형을 가져옵니다.- 반환합니다:
- 내부 RealmAny.Type
-
getValueClass
@Nullable public Class<?> getValueClass()
이 RealmAny 값으로 래핑된 내부 값을 나타내는 Java 클래스를 반환합니다.- 반환합니다:
- 이 RealmAny 값으로 래핑된 내부 값을 나타내는 클래스입니다.
-
valueOf
public static RealmAny valueOf(@Nullable Byte value)
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은RealmAny.Type.INTEGER
, 그렇지 않으면RealmAny.Type.NULL
가 됩니다.- 매개변수:
value
- RealmAny 값입니다.- 반환합니다:
- 바이트 값을 포함하는 새 RealmAny
-
valueOf
public static RealmAny valueOf(@Nullable Short value)
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은RealmAny.Type.INTEGER
, 그렇지 않으면RealmAny.Type.NULL
가 됩니다.- 매개변수:
value
- RealmAny 값입니다.- 반환합니다:
- 짧은 RealmAny의 새로운.
-
valueOf
public static RealmAny valueOf(@Nullable Integer value)
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은RealmAny.Type.INTEGER
, 그렇지 않으면RealmAny.Type.NULL
가 됩니다.- 매개변수:
value
- RealmAny 값입니다.- 반환합니다:
- 정수의 새로운 RealmAny입니다.
-
valueOf
public static RealmAny valueOf(@Nullable Long value)
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은RealmAny.Type.INTEGER
, 그렇지 않으면RealmAny.Type.NULL
가 됩니다.- 매개변수:
value
- RealmAny 값입니다.- 반환합니다:
- Long의 새로운 RealmAny.
-
valueOf
public static RealmAny valueOf(@Nullable Boolean value)
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은RealmAny.Type.BOOLEAN
, 그렇지 않으면RealmAny.Type.NULL
가 됩니다.- 매개변수:
value
- RealmAny 값입니다.- 반환합니다:
- 부울의 새로운 RealmAny.
-
valueOf
public static RealmAny valueOf(@Nullable Float value)
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은RealmAny.Type.FLOAT
, 그렇지 않으면RealmAny.Type.NULL
가 됩니다.- 매개변수:
value
- RealmAny 값입니다.- 반환합니다:
- Float의 새로운 RealmAny.
-
valueOf
public static RealmAny valueOf(@Nullable Double value)
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은RealmAny.Type.DOUBLE
, 그렇지 않으면RealmAny.Type.NULL
가 됩니다.- 매개변수:
value
- RealmAny 값입니다.- 반환합니다:
- 더블의 새로운 RealmAny.
-
valueOf
public static RealmAny valueOf(@Nullable String value)
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은RealmAny.Type.STRING
, 그렇지 않으면RealmAny.Type.NULL
가 됩니다.- 매개변수:
value
- RealmAny 값입니다.- 반환합니다:
- 문자열의 새로운 RealmAny.
-
valueOf
public static RealmAny valueOf(@Nullable byte[] value)
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은RealmAny.Type.BINARY
, 그렇지 않으면RealmAny.Type.NULL
가 됩니다.- 매개변수:
value
- RealmAny 값입니다.- 반환합니다:
- 바이트[]의 새로운 RealmAny입니다.
-
valueOf
public static RealmAny valueOf(@Nullable Date value)
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은RealmAny.Type.DATE
, 그렇지 않으면RealmAny.Type.NULL
가 됩니다.- 매개변수:
value
- RealmAny 값입니다.- 반환합니다:
- 날짜의 새로운 RealmAny.
-
valueOf
public static RealmAny valueOf(@Nullable ObjectId value)
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은RealmAny.Type.OBJECT_ID
, 그렇지 않으면RealmAny.Type.NULL
가 됩니다.- 매개변수:
value
- RealmAny 값입니다.- 반환합니다:
- ObjectId의 새 RealmAny입니다.
-
valueOf
public static RealmAny valueOf(@Nullable Decimal128 value)
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은RealmAny.Type.DECIMAL128
, 그렇지 않으면RealmAny.Type.NULL
가 됩니다.- 매개변수:
value
- RealmAny 값입니다.- 반환합니다:
- Decimal128의 새로운 RealmAny입니다.
-
valueOf
public static RealmAny valueOf(@Nullable UUID value)
지정된 값으로 새 RealmAny를 만듭니다. 값이 null이 아닌 경우 유형은RealmAny.Type.UUID
, 그렇지 않으면RealmAny.Type.NULL
가 됩니다.- 매개변수:
value
- RealmAny 값입니다.- 반환합니다:
- UUID의 새로운 RealmAny.
-
nullValue
public static RealmAny nullValue()
null 값의 새 RealmAny를 만듭니다.- 반환합니다:
- null 값의 새 RealmAny 인스턴스.
-
valueOf
public static RealmAny valueOf(@Nullable RealmModel value)
지정된 값으로 새 RealmAny를 만듭니다.- 매개변수:
value
- RealmAny 값입니다.- 반환합니다:
- RealmModel의 새 RealmAny.
-
IsNull
공개 부울 isNull()
내부 값이 null이면 true를 반환하고, 그렇지 않으면 false를 반환합니다.- 반환합니다:
- 내부 값이 null이면 true이고, 그렇지 않으면 false입니다.
-
asByte
public Byte asByte()
이 값을 바이트로 가져오면 바이트로 가져오고, 그렇지 않으면 예외를 발생시킵니다.- 반환합니다:
- 바이트.
- 예외 처리:
ClassCastException
- 이 값이 예상한 유형이 아닌 경우.
-
asShot
public 짧은 asShot()
이 값을 1이면 짧은 으로 가져오고, 그렇지 않으면 예외를 발생시킵니다.- 반환합니다:
- 짧은.
- 예외 처리:
ClassCastException
- 이 값이 예상한 유형이 아닌 경우.
-
asInteger
public Integer asInteger()
이 값을 1이면 Integer로 가져오고, 그렇지 않으면 예외를 발생시킵니다.- 반환합니다:
- 정수.
- 예외 처리:
ClassCastException
- 이 값이 예상한 유형이 아닌 경우.
-
asLong
public Long asLong()
이 값을 Long(1)이면 Long으로 가져오고, 그렇지 않으면 예외를 발생시킵니다.- 반환합니다:
- Long.
- 예외 처리:
ClassCastException
- 이 값이 예상한 유형이 아닌 경우.
-
asBoolean
public Boolean asBoolean()
이 값을 부울(Boolean)로 가져오면 1이면 예외를 발생시킵니다.- 반환합니다:
- 부울.
- 예외 처리:
ClassCastException
- 이 값이 예상한 유형이 아닌 경우.
-
asFloat
public Float asFloat()
이 값을 Float로 가져오면 1이면 예외를 발생시킵니다.- 반환합니다:
- Float.
- 예외 처리:
ClassCastException
- 이 값이 예상한 유형이 아닌 경우.
-
asDouble
public Double asDouble()
이 값을 Double인 경우 1로 가져오고, 그렇지 않으면 예외를 발생시킵니다.- 반환합니다:
- 더블.
- 예외 처리:
ClassCastException
- 이 값이 예상한 유형이 아닌 경우.
-
asString
public String asString()
이 값을 문자열로 가져오면 1이면 예외를 발생시킵니다.- 반환합니다:
- 문자열입니다.
- 예외 처리:
ClassCastException
- 이 값이 예상한 유형이 아닌 경우.
-
asBinary
public byte[] asBinary()
이 값을 byte[]로 가져오면 1이면 예외를 발생시킵니다.- 반환합니다:
- 바이트[].
- 예외 처리:
ClassCastException
- 이 값이 예상한 유형이 아닌 경우.
-
asDate
공개 날짜 asDate()
이 값을 날짜로 가져오면 1이면 예외가 발생합니다.- 반환합니다:
- 날짜.
- 예외 처리:
ClassCastException
- 이 값이 예상한 유형이 아닌 경우.
-
asObjectId
public ObjectId asObjectId()
이 값을 ObjectId(일 경우)로 가져오고, 그렇지 않으면 예외를 발생시킵니다.- 반환합니다:
- ObjectId.
- 예외 처리:
ClassCastException
- 이 값이 예상한 유형이 아닌 경우.
-
asUUID
공개 UUID asUUID()
이 값을 UUID로 가져오면 1이 아니면 예외가 발생합니다.- 반환합니다:
- UUID.
- 예외 처리:
ClassCastException
- 이 값이 예상한 유형이 아닌 경우.
-
asDecimal128
public Decimal128 asDecimal128()
이 값을 Decimal128이면 1로 가져오고, 그렇지 않으면 예외를 발생시킵니다.- 반환합니다:
- Decimal128.
- 예외 처리:
ClassCastException
- 이 값이 예상한 유형이 아닌 경우.
-
asRealmModel
public <T extends RealmModel> T asRealmModel(Class<T> clazz)
이 값이 1인 경우 RealmModel로 가져오고, 그렇지 않으면 예외가 발생합니다.- 유형 매개변수:
T
- 내부 값을 캐스팅할 RealmModel 유형입니다.- 반환합니다:
- T 유형의 RealmModel입니다.
- 예외 처리:
ClassCastException
- 이 값이 예상한 유형이 아닌 경우.
-
해시 코드
public final int hashCode()
RealmAny
의 해시 코드는 정확히 해당 값의 해시 코드입니다.- 재정의:
hashCode
수업 중Object
- 반환합니다:
- 대상이 동일한 값을 가지면 true
- 예외 처리:
NullPointerException
- 내부 값이 null인 경우
-
-