O Realm suporta os seguintes tipos de dados de campo:
BooleanoubooleanIntegerouintShortoushortLongoulongByteoubyte[]DoubleoudoubleFloatoufloatStringDateDecimal128fromorg.bson.typesObjectIdfromorg.bson.typesUUIDfromjava.util.UUIDQualquer subclasse
RealmObjectRealmListRealmAnyRealmSetRealmDictionary
Os tipos Byte, Short, Integer e Long e suas alternativas primitivas em minúsculas são todas armazenadas como valores Long no Realm. Da mesma forma, o Realm armazena objetos dos tipos Float e float como tipo Double.
O Realm não oferece suporte a campos com modificadores final e volatile, embora você possa usar campos com estes modificadores se você ignorá-los. Se optar por fornecer construtores personalizados, você deverá declarar um construtor público sem argumentos.
Atualizando strings e arrays de bytes
Como o Realm opera em campos como um todo, não é possível atualizar diretamente elementos individuais de strings ou arrays de bytes. Em vez disso, você precisará ler o campo inteiro, fazer a modificação em elementos individuais e, em seguida, gravar o campo inteiro novamente em um bloco de transação.
IDs de objetos e UUIDs
ObjectId e UUID (Identificador Único Universal) ambos fornecem valores únicos que podem ser utilizados como identificadores para objetos. ObjectId é um 12valor exclusivo de bytes específico do MongoDB. UUID é um 16valor exclusivo padronizadode bytes. Ambos os tipos são indexáveis e podem ser usados como chaves primárias.