クラス RealmAny
- java.lang.Object
-
- io.realm.RealmAny
-
public class RealmAny extends Object
RealmAny
は、多形 Realm 値を表すために使用されます。このクラスのインスタンスは、常に明確なタイプの明確な値を保存します。 たとえば、それが double 値である場合は、その値を抽出するために double() として呼び出します。 現在保存されている値のタイプを確認するには、 getType() を呼び出します。 double を保存していないインスタンスで Double() を呼び出すと、
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() として
RealmModel
の実現である場合は、RealmAny 値を Realm オブジェクト参照にキャストできます。RealmAny 値もソートすることもできます。 異なる RealmAny 型間で使用されるソート順(最低から最高の順)は次のとおりです。
- ブール値
- バイト/短い/整数/Long/浮動小数点数/ double /Decimal128
- byte[]/ string
- 日付
- ObjectId
- UUID
- RealmObject
RealmQuery.sort(String)
、RealmQuery.minRealmAny(String)
、RealmQuery.maxRealmAny(String)
の動作方法に影響します。 特にmin()
とmax()
は数値フィールドだけでなく、ソート順を使用して「最大」値または「最小」値を決定します。
-
-
ネストされたクラスの概要
ネストされたクラス 修飾子と型 クラス 説明 static class
RealmAny.Type
RealmAny でサポートされているすべてのタイプを説明する列挙型。
-
メソッドの概要
すべてのメソッド 静的メソッド インスタンス メソッド 具象メソッド 修飾子と型 方式 説明 byte[]
asBinary()
この値を byte[] として取得します。それ以外の場合は例外をスローします。Boolean
asBoolean()
この値を 1 つの場合はブール値として取得しますが、そうでない場合は例外をスローします。Byte
asByte()
1 の場合はこの値を バイトとして取得し、そうでない場合は例外をスローします。Date
asDate()
この値を日付である場合は、この値を日付として取得します。そうでない場合は、例外がスローされます。Decimal128
asDecimal128()
この値を Decimal128 として取得します。そうでない場合は例外をスローします。Double
asDouble()
この値が 1 の場合はdoubleとして取得します。そうでない場合は例外をスローします。Float
asFloat()
は、この値を浮動小数点数として取得します。それ以外の場合は例外をスローします。Integer
asInteger()
この値が 1 の場合は整数として取得されますが、そうでない場合は例外がスローされます。Long
asLong()
1 つの場合はこの値を Long として取得します。それ以外の場合は例外をスローします。ObjectId
asObjectId()
値が 1 である場合は ObjectId として取得され、そうでない場合は例外がスローされます。<T extends RealmModel>
TasRealmModel(Class<T> clazz)
この値を RealmModel として取得します。そうでない場合は例外をスローします。Short
asShort()
1 つの場合、この値を 短縮 として取得します。そうでない場合は例外をスローします。String
asString()
この値を string である場合はそれを取得し、そうでない場合は例外をスローします。UUID
asUUID()
UUID である場合はこの値を UUID として取得し、そうでない場合は例外をスローします。boolean
coercedEquals(RealmAny other)
boolean
equals(Object other)
2 つの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 値。- 次の値を返します。
- 短い Realm の新しい Realm 任意の 。
-
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 の新しい Realm 任意の 。
-
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 値。- 次の値を返します。
- 浮動小数点数の新しい Realm 任意の 。
-
valueOf
public static RealmAny valueOf(@Nullable Double value)
指定された値を持つ新しい RealmAny を作成します。 値が null でない場合、型はRealmAny.Type.DOUBLE
、それ以外の場合はRealmAny.Type.NULL
になります。- パラメーター:
value
- RealmAny 値。- 次の値を返します。
- doubleの新しい RealmAny
-
valueOf
public static RealmAny valueOf(@Nullable String value)
指定された値を持つ新しい RealmAny を作成します。 値が null でない場合、型はRealmAny.Type.STRING
、それ以外の場合はRealmAny.Type.NULL
になります。- パラメーター:
value
- RealmAny 値。- 次の値を返します。
- stringの新しい RealmAny。
-
valueOf
public static RealmAny valueOf(@Nullable byte[] value)
指定された値を持つ新しい RealmAny を作成します。 値が null でない場合、型はRealmAny.Type.BINARY
、それ以外の場合はRealmAny.Type.NULL
になります。- パラメーター:
value
- RealmAny 値。- 次の値を返します。
- byte[] の新しい RealmAny。
-
valueOf
public static RealmAny valueOf(@Nullable Date value)
指定された値を持つ新しい RealmAny を作成します。 値が null でない場合、型はRealmAny.Type.DATE
、それ以外の場合はRealmAny.Type.NULL
になります。- パラメーター:
value
- RealmAny 値。- 次の値を返します。
- 日付の新しい Realm 任意の 。
-
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 値の新しい RealmMany インスタンス。
-
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()
1 の場合はこの値を バイトとして取得し、そうでない場合は例外をスローします。- 次の値を返します。
- a Byte.
- 次の例外がスローされます。
ClassCastException
- この値が期待されるタイプでない場合。
-
as短い
public Triggers短縮()
1 つの場合、この値を 短縮 として取得します。そうでない場合は例外をスローします。- 次の値を返します。
- 短い
- 次の例外がスローされます。
ClassCastException
- この値が期待されるタイプでない場合。
-
asInteger
public integer asInteger ()
この値が 1 の場合は整数として取得されますが、そうでない場合は例外がスローされます。- 次の値を返します。
- 整数。
- 次の例外がスローされます。
ClassCastException
- この値が期待されるタイプでない場合。
-
asLong
public Long asLong()
1 つの場合はこの値を Long として取得します。それ以外の場合は例外をスローします。- 次の値を返します。
- a Long.
- 次の例外がスローされます。
ClassCastException
- この値が期待されるタイプでない場合。
-
asBoolean
publicブール値asBool()
この値を 1 つの場合はブール値として取得しますが、そうでない場合は例外をスローします。- 次の値を返します。
- ブール値。
- 次の例外がスローされます。
ClassCastException
- この値が期待されるタイプでない場合。
-
asFloat
public浮動小数点数
は、この値を浮動小数点数として取得します。それ以外の場合は例外をスローします。- 次の値を返します。
- 浮動小数。
- 次の例外がスローされます。
ClassCastException
- この値が期待されるタイプでない場合。
-
asDouble
public double asDouble()
この値が 1 の場合はdoubleとして取得します。そうでない場合は例外をスローします。- 次の値を返します。
- double 。
- 次の例外がスローされます。
ClassCastException
- この値が期待されるタイプでない場合。
-
asString
public string asString()
この値を string である場合はそれを取得し、そうでない場合は例外をスローします。- 次の値を返します。
- 文字列。
- 次の例外がスローされます。
ClassCastException
- この値が期待されるタイプでない場合。
-
asBinary
public byte[] asBinary()
この値を byte[] として取得します。それ以外の場合は例外をスローします。- 次の値を返します。
- a byte[].
- 次の例外がスローされます。
ClassCastException
- この値が期待されるタイプでない場合。
-
asDate
public Date asDate()
この値を日付である場合は、この値を日付として取得します。そうでない場合は、例外がスローされます。- 次の値を返します。
- 日付。
- 次の例外がスローされます。
ClassCastException
- この値が期待されるタイプでない場合。
-
asObjectId
public ObjectId asObjectId()
値が 1 である場合は ObjectId として取得され、そうでない場合は例外がスローされます。- 次の値を返します。
- an ObjectId.
- 次の例外がスローされます。
ClassCastException
- この値が期待されるタイプでない場合。
-
asUUID
public UUID asUUID()
UUID である場合はこの値を UUID として取得し、そうでない場合は例外をスローします。- 次の値を返します。
- UUID
- 次の例外がスローされます。
ClassCastException
- この値が期待されるタイプでない場合。
-
asDecimal128
public Decimal128 asDecimal128()
この値を Decimal128 として取得します。そうでない場合は例外をスローします。- 次の値を返します。
- Decimal128
- 次の例外がスローされます。
ClassCastException
- この値が期待されるタイプでない場合。
-
asRealmModel
public <T extends RealmModel> T asRealmModel(Class<T> clazz)
この値を RealmModel として取得します。そうでない場合は例外をスローします。- 型パラメータ:
T
- 内部値をキャストする RealmModel 型。- 次の値を返します。
- T 型の RealmModel 。
- 次の例外がスローされます。
ClassCastException
- この値が期待されるタイプでない場合。
-
ハッシュコード
public final int hashCode()
RealmAny
のハッシュ コードは、正確にその値のハッシュ コードです。- 上書き:
hashCode
クラス内Object
- 次の値を返します。
- ターゲットの 値が同じ場合は true
- 次の例外がスローされます。
NullPointerException
- 内部値が null の場合
-
-