日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Kotlin-Room】 cannot pick a constructor since multiple constructors are suitable

發布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Kotlin-Room】 cannot pick a constructor since multiple constructors are suitable 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Room實體類構造函數異常

本案例是Entity無主構造函數,多次構造函數的情況。

異常描述:Room cannot pick a constructor since multiple constructors are suitable. Try to annotate unwanted constructors with @Ignore.

異常源代碼:

//創建數據庫實體 Entity @Entity(tableName = "User")//數據庫實體類 class User{//主鍵 自增@PrimaryKey(autoGenerate = true)var id:Int = 0@ColumnInfo(name="user_name") //實際數據庫中的字段user_namevar name:String = ""@ColumnInfo(name = "user_gender")var gender:String = ""var age:Int = 0constructor(id:Int,name:String,gender:String,age:Int) {this.id = idthis.name = namethis.gender = genderthis.age = age}constructor(name:String,gender: String,age:Int){this.name = namethis.gender = genderthis.age = age} }

異常原因:屬性有初始值,有兩個次構造函數,系統認為這兩個都適用,導致系統在創建對象里無法選擇構造函數。

解決方案:

方案一,在次構造函數上添加@ignore注解,只保留一個次構造函數不添加。

//創建數據庫實體 Entity @Entity(tableName = "User")//數據庫實體類 class User{//主鍵 自增@PrimaryKey(autoGenerate = true)var id:Int = 0@ColumnInfo(name="user_name") //實際數據庫中的字段user_namevar name:String = ""@ColumnInfo(name = "user_gender")var gender:String = ""var age:Int = 0@Ignoreconstructor(id:Int,name:String,gender:String,age:Int) {this.id = idthis.name = namethis.gender = genderthis.age = age}constructor(name:String,gender: String,age:Int){this.name = namethis.gender = genderthis.age = age} }

方案二,添加主構造函數,可以不帶參數的和帶參數的,次構造函數得指向主構造函數。下面示例使用不帶參數。

//創建數據庫實體 Entity @Entity(tableName = "User")//數據庫實體類 class User(){//主鍵 自增@PrimaryKey(autoGenerate = true)var id:Int = 0@ColumnInfo(name="user_name") //實際數據庫中的字段user_namevar name:String = ""@ColumnInfo(name = "user_gender")var gender:String = ""var age:Int = 0constructor(id:Int,name:String,gender:String,age:Int) : this() {this.id = idthis.name = namethis.gender = genderthis.age = age}constructor(name:String,gender: String,age:Int) : this() {this.name = namethis.gender = genderthis.age = age} }

ok,以上。

總結,

  • kotlin類,不寫主、次構造函數。編譯java類會自動生成默認的構造函數
  • kotlin類,不寫主構造函數,寫次構造函數。需要保證不能讓系統識別多個都適合,編譯java類不會自動生成默認主構造函數
  • 總結

    以上是生活随笔為你收集整理的【Kotlin-Room】 cannot pick a constructor since multiple constructors are suitable的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产午夜福利100集发布 | 国产福利在线 | 成人影视网址 | 中国国产精品 | 亚洲国产成人精品91久久久 | 欧美性视屏 | 婷婷综合网站 | 射射综合网 | 这里只有精品久久 | 天堂久久精品 | 草逼视频网站 | 怡红院综合网 | 日韩黄色一级视频 | 亚洲毛片在线免费观看 | 欧美一页 | 中文字幕成人在线 | 日韩精选 | 欧美有码在线 | 精品人妻一区二区三区视频 | 精品无码国产av一区二区三区 | 97精品一区二区 | 九九热视频免费 | 精品人妻无码一区二区三 | 91成人免费视频 | 视频国产精品 | 国产精品99精品久久免费 | 亚洲国产一区视频 | 美国一区二区 | 久久精品区 | 一区二区三区在线观看 | 水蜜桃影库 | 轮乱| 久爱视频在线观看 | 丝袜中文字幕 | 日韩欧美黄 | 欧美三级午夜理伦 | 2017狠狠干| 精品少妇theporn| 尼姑福利影院 | 影音先锋成人资源网站 | 国产精品一二三四区 | 九色porn蝌蚪| 高清av一区 | 国产毛片高清 | 尤物自拍| 少妇激情网 | 在线观看av一区 | a中文在线| 尤物视频在线观看国产性感 | 999xxxx | 国产精品视频在 | 国产一区毛片 | 国产自产精品 | 黄色网址在线免费看 | 超碰资源在线 | 欧美成网站 | 国产一区二区三区自拍 | 日韩欧美网址 | 玖玖精品 | 狠狠躁夜夜躁人 | 天天草夜夜| 人人干人人玩 | 精品在线你懂的 | 大波大乳videos巨大 | 韩国精品久久久 | 久久综合国产精品 | 日韩久久不卡 | 性少妇bbw张开 | 美女黄页网站 | 亚洲国产日韩av | 国产成人福利 | 成年人看的网站 | aa一级片 | 亚洲综合91 | 狠狠摸狠狠操 | 69性视频 | 亚洲精品久久久蜜桃网尤妮丝 | 亚洲精品aⅴ中文字幕乱码 国产精品调教视频 | 性色av一区二区三区四区 | 华丽的外出在线观看 | 久久精品黄aa片一区二区三区 | 日韩久久精品一区二区 | 欧美午夜精品理论片a级按摩 | 绯色av一区二区三区高清 | 影音先锋亚洲成aⅴ人在 | 海角社区在线 | 精品欧美乱码久久久久久1区2区 | www.五月激情 | 丰满大乳奶做爰ⅹxx视频 | 丝瓜av | 青青草一区二区三区 | 国产精品久久久久三级 | 国产精品久久99 | 九九精品视频免费 | 一级aaa毛片 | 97色在线| 久久这里只有精品8 | 国产精品一二三区在线观看 | 一级做a免费 |