Я вызываю свой класс сущности в операторе if/else-if
для 2 различных условий, и значения, которые я передаю в параметры, зависят от условия. В блоке if
я передаю 3 параметра, а в блоке else-if
я передаю 4. Объект сущности выдает ошибку, поскольку ожидает 4 параметра. Я хочу, чтобы первый параметр был необязательным, и я хотел бы знать, есть ли способ сделать это в Kotlin.
Это мой класс сущности:
@Entity(tableName = "entry_table")
data class Entry(
@PrimaryKey(autoGenerate = true)
var id: Int? = null,
val username: String? = null,
val hint: String? = null,
val password: String? = null)
И это блок if/else-if
, в который я вставляю значения в объект сущности:
if (requestCode == ADD_ENTRY_REQUEST && resultCode == Activity.RESULT_OK) {
...
val entry = Entry(username, hint, password)
...
} else if (requestCode == EDIT_ENTRY_REQUEST && resultCode == Activity.RESULT_OK) {
...
val entry = Entry(id, username, hint, password)
...
}
В Java вы можете решить эту проблему, создав 2 конструктора с одинаковым количеством параметров, но мне интересно, можем ли мы сделать то же самое в Kotlin или есть другой подход.