簡體   English   中英

如何正確創建房間實體?

[英]How to create a room entity properly?

我已經為我的房間數據庫創建了我的實體並查看了幾個教程

有些使用帶或不帶的變量? - 實體有什么區別

和一些事后在實體中使用構造函數 - 這是必要的,有什么區別?

@Entity(tableName = "birthday")
data class Bday(
    @PrimaryKey(autoGenerate = true)
    var id : Int,
    @ColumnInfo(name="Name")
    var name : String?,
    @ColumnInfo(name="Birthday")
    var birth : String?
)

問號是可空運算符,表示變量可以是 null。 在您的示例中:

var name : String?

它可能是"Jhon"null

  • 這取決於您希望如何將其存儲在 Room 中。 因此,如果您認為某個時候您將擁有一個暫時沒有名字的用戶(草稿、編輯等)
  • 大多數時候,從 HTTP 請求獲得的網絡 model 可以直接保存到 ROOM。 所以這取決於服務器發送的內容。

構造函數 position 是 Kotlin 語法的一部分,對於data class ,構造函數進入 ZA2F2ED4F8EBC2CBB14C21A29DZ 聲明。 建議為 DB 實體使用數據類,因為結構相等使得工作更容易userA == userB是屬性的比較。

您還應該想知道: valvar如果您認為以后需要通過修改 object 來修改實體然后var但如果您可以使用不變性,那就更好了,因為結構比較可能會出現var問題。 大多數情況下,如果您需要使用 vals 修改數據 class,則copy方法正是您所需要的。

我認為數據 class 文檔應該可以幫助您:

https://kotlinlang.org/docs/data-classes.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM