サンプルとしてはハードコーディングの方が見やすかったりします。
でも、実際にアプリを作るときはタイプセーフなコーディングをした方がタイプミスによるバグの発生を抑えられたり、保守が楽になったりします。
entityクラス
data class Memo(
        var memoId: Int = 0,
        var body: String = "",
        var createDate: String? = null,
        var updateDate: String? = null
)
ハードコーディング例
    fun get(id: Int): Memo? {
        return mRealm.where(Memo::class.java).equalTo("memoId", id).findFirst()
    }
"memoId"の部分がハードコーディング(直打ち文字列入力)になっています。タイプセーフ例
    fun get(id: Int): Memo? {
        return mRealm.where(Memo::class.java).equalTo(Memo::memoId.name, id).findFirst()
    }
"memoId"ではなく、Memo::memoId.nameになっています。
entity名称::プロパティ名.nameとすることでタイプセーフに"memoId"(文字列)を取得できます。
bodyの場合は、Memo::body.nameですね。
この記事が参考になれば幸いです。
日々、プログラムを書いたり・Twitterで出来事を発信したりしています。
Twitterのフォロワーも募集中です。
@cloverkizuna
今後ともよろしくお願いします。