クラス RealmAny
項目一覧
io.realm
io.realm.RealmAnyは、多形 Realm 値を表すために使用されます。
このクラスのインスタンスは、常に明確なタイプの明確な値を保存します。 たとえば、それが double 値である場合は、その値を抽出するために double() として呼び出します。 現在保存されている値のタイプを確認するには、 getType() を呼び出します。 double を保存していないインスタンスで Double() を呼び出すと、 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);
特定の型の値を抽出するには、保存された型に関する明確な知識が必要であることを理解することが重要です。 保存されている値と同じ型ではない特定の型に対して getter メソッドを呼び出すと、例外が発生します。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() としてio.realm.RealmModelの実現である場合は、RealmAny 値を Realm オブジェクト参照にキャストできます。
RealmAny 値もソートすることもできます。 異なる RealmAny 型間で使用されるソート順(最低から最高の順)は次のとおりです。
ブール値
バイト/短い/整数/Long/浮動小数点数/ double /Decimal128
byte[]/ string
日付
ObjectId
UUID
RealmObject
これは、 RealmQuery.sort ( string ) 、 RealmQuery.minRealmAny( string ) 、およびRealmQuery.maxRealmAny( string ) の方法に影響します。 動作する。 特に min()
とmax()
は数値フィールドを考慮するだけでなく、ソート順を使用して「最大」値または「最小」値を決定します。
ネストされたクラスの概要
修飾子と型 | クラスと説明 |
---|---|
public static final |
メソッドの概要
修飾子と型 | メソッドと説明 |
---|---|
公開バイト | asBinary () この値を byte[] として取得します。それ以外の場合は例外をスローします。 |
公開 ブール値 | asBoolean () この値を 1 つの場合はブール値として取得しますが、そうでない場合は例外をスローします。 |
public Byte | asByte () 1 の場合はこの値を バイトとして取得し、そうでない場合は例外をスローします。 |
public 日付 | asDate () この値を日付である場合は、この値を日付として取得します。そうでない場合は、例外がスローされます。 |
public Decimal128 | asDecimal128 () この値を Decimal128 として取得します。そうでない場合は例外をスローします。 |
publicdouble | asDouble () この値が 1 の場合はdoubleとして取得します。そうでない場合は例外をスローします。 |
public 浮動小数点数 | asFloat () は、この値を浮動小数点数として取得します。それ以外の場合は例外をスローします。 |
public Integer | asInteger () この値が 1 の場合は整数として取得されますが、そうでない場合は例外がスローされます。 |
public Long | asLong () 1 つの場合はこの値を Long として取得します。それ以外の場合は例外をスローします。 |
public ObjectId | asObjectId () 値が 1 である場合は ObjectId として取得され、そうでない場合は例外がスローされます。 |
public T | この値を RealmModel として取得します。そうでない場合は例外をスローします。 |
public 短縮 | asShort () 1 つの場合、この値を 短縮 として取得します。そうでない場合は例外をスローします。 |
public string | asString () この値を string である場合はそれを取得し、そうでない場合は例外をスローします。 |
asUUID () UUID である場合はこの値を UUID として取得し、そうでない場合は例外をスローします。 | |
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 を作成します。 |
public 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 () |
---|
この値を byte[] として取得します。それ以外の場合は例外をスローします。 戻り値 a byte[]. スロー
|
asBoolean
この値を 1 つの場合はブール値として取得しますが、そうでない場合は例外をスローします。 戻り値 ブール値。 スロー
|
asByte
1 の場合はこの値を バイトとして取得し、そうでない場合は例外をスローします。 戻り値 a Byte. スロー
|
asDate
この値を日付である場合は、この値を日付として取得します。そうでない場合は、例外がスローされます。 戻り値 日付。 スロー
|
asDecimal128
public Decimal128 asDecimal128 () |
---|
この値を Decimal128 として取得します。そうでない場合は例外をスローします。 戻り値 Decimal128 スロー
|
asDouble
この値が 1 の場合はdoubleとして取得します。そうでない場合は例外をスローします。 戻り値 double 。 スロー
|
asFloat
は、この値を浮動小数点数として取得します。それ以外の場合は例外をスローします。 戻り値 浮動小数。 スロー
|
asInteger
この値が 1 の場合は整数として取得されますが、そうでない場合は例外がスローされます。 戻り値 整数。 スロー
|
asLong
1 つの場合はこの値を Long として取得します。それ以外の場合は例外をスローします。 戻り値 a Long. スロー
|
asObjectId
public ObjectId asObjectId () |
---|
値が 1 である場合は ObjectId として取得され、そうでない場合は例外がスローされます。 戻り値 an ObjectId. スロー
|
asRealmModel
この値を RealmModel として取得します。そうでない場合は例外をスローします。 型パラメータ
戻り値 T 型の RealmModel 。 スロー
|
as短い
1 つの場合、この値を 短縮 として取得します。そうでない場合は例外をスローします。 戻り値 短い スロー
|
asString
この値を string である場合はそれを取得し、そうでない場合は例外をスローします。 戻り値 文字列。 スロー
|
asUUID
UUID である場合はこの値を UUID として取得し、そうでない場合は例外をスローします。 戻り値 UUID スロー
|
forceedEquals
equals
2 つの パラメーター
戻り値 ターゲットの 値が同じ場合は true の上書き
|
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.DECAL128になり、それ以外の場合はRealmAny.Type.NULLになります。 パラメーター
戻り値 Decimal128 の新しい RealmAny。 |
指定された値を持つ新しい RealmAny を作成します。 値が null でない場合、タイプはRealmAny.Type.OBJECT_IDになり、それ以外の場合はRealmAny.Type.NULLになります。 パラメーター
戻り値 ObjectId の新しい RealmAny。 |
指定された値を持つ新しい RealmAny を作成します。 値が null でない場合、型はRealmAny.Type.DATEになり、それ以外の場合はRealmAny.Type.NULLになります。 パラメーター
戻り値 日付の新しい Realm 任意の 。 |
指定された値を持つ新しい RealmAny を作成します。 値が null でない場合、型はRealmAny.Type.BINaryになり、それ以外の場合はRealmAny.Type.NULLになります。 パラメーター
戻り値 byte[] の新しい RealmAny。 |
指定された値を持つ新しい RealmAny を作成します。 値が null でない場合、型はRealmAny.Type.Stringになり、それ以外の場合はRealmAny.Type.NULLになります。 パラメーター
戻り値 stringの新しい RealmAny。 |
指定された値を持つ新しい RealmAny を作成します。 値が null でない場合、型はRealmAny.Type.DOOBLEになり、それ以外の場合はRealmAny.Type.NULLになります。 パラメーター
戻り値 doubleの新しい RealmAny |
指定された値を持つ新しい RealmAny を作成します。 値が null でない場合、型はRealmAny.Type.FLOATになり、それ以外の場合はRealmAny.Type.NULLになります。 パラメーター
戻り値 浮動小数点数の新しい Realm 任意の 。 |
指定された値を持つ新しい RealmAny を作成します。 値が null でない場合、型はRealmAny.Type.BoolEANになり、それ以外の場合はRealmAny.Type.NULLになります。 パラメーター
戻り値 ブール値の新しい RealmAny。 |
指定された値を持つ新しい RealmAny を作成します。 値が null でない場合、型はRealmAny.Type.INTegerになり、それ以外の場合はRealmAny.Type.NULLになります。 パラメーター
戻り値 Long の新しい Realm 任意の 。 |
指定された値を持つ新しい RealmAny を作成します。 値が null でない場合、型はRealmAny.Type.INTegerになり、それ以外の場合はRealmAny.Type.NULLになります。 パラメーター
戻り値 整数の新しい RealmAny |
指定された値を持つ新しい RealmAny を作成します。 値が null でない場合、型はRealmAny.Type.INTegerになり、それ以外の場合はRealmAny.Type.NULLになります。 パラメーター
戻り値 短い Realm の新しい Realm 任意の 。 |
指定された値を持つ新しい RealmAny を作成します。 値が null でない場合、型はRealmAny.Type.INTegerになり、それ以外の場合はRealmAny.Type.NULLになります。 パラメーター
戻り値 バイト値を含む新しい RealmAny。 |