sealed classは、同一パッケージ内でしか継承できないabstract classです。 同じ制約を持つinterfaceとして、sealed interfaceも存在します(詳しくは公式ドキュメントをご覧ください)。 以下のように、Userクラスはsealed class/interfaceとして定義し、実体はprivateなdata classとして定義すれば、外部から...
Kotlin 1.1で追加された@Parcelizeアノテーションを使います。 渡したいdata classに@Parcelizeアノテーションを付け、Parcelableを継承することで、自動的にParcelableを継承したクラスが生成されます。 MonsterEntity.kt +importandroid.os.Parcelable+importkotlinx.android.parcel.Parcelize+@Parcelizedata cla...
data class Restaurant( val name: String, val borough: String, val cuisine: String )書込み (write) 操作を定義する 実行する書込み操作ごとに、汎用のWriteModelクラスから継承する次の操作クラスのいずれかの対応するインスタンスを作成します。 InsertOneModel UpdateOneModel UpdateManyModel Rep...
class Forest : RealmObject { @PrimaryKey var _id: ObjectId = ObjectId() var name: String = "" // Set of RealmObject type (CANNOT be null) var frogsThatLiveHere: RealmSet<Frog> = realmSetOf() // List of RealmObject type (CANNOT be null) var nearbyPonds: RealmList<Pond> = realmL...
data class User(val name: String, val age: Int) 頭にdata って付けると、コンパイラが以下のものを自動で作ってくれる。ただしクラス内または継承元に明示的に定義されていれば勝手に生成したりしない。equals()/hashCode()ペア "User(name=John, age=42)"って表示するtoString() 宣言順で...
50 more_horiz CancelDelete Comments No comments Let's comment your feelings that are more than good LoginSign Up Qiita Conference 2024 Autumn will be held!: 11/14(Thu) - 11/15(Fri) Qiita Conference is the largest tech conference in Qiita!
Room.databaseBuilder(context,SampleDatabase::class.java,DATABASE_NAME).allowMainThreadQueries()//MainThreadでの実行を許可します.build().also{instance=it} 最後に RoomはThread制限があったり、Queryが間違っていたらBuild時に教えてくれたり、とても親切なライブラリです。
kotlin 1.2.1現在、sealed classを継承できるのは、sealed classでネストされたクラスと、同じファイル内で宣言されたクラスのみです。 // in Base.ktsealedclassBase{objectSubOne:Base()// okobjectSubTwo:Base()// ok}classSubThree:Base()// ok// in Other.ktobjectSubFour:Base()// ng ...