data-class

Я хочу иметь класс данных, принимающий список только для чтения: data class Notebook(val notes: List<String>) { } Но он также может принять MutableList, потому что это подтип List. Например, следующий код изменяет переданный в списке: fun main(args: Array<String>) { val notes = arrayLis...

Я пытаюсь реализовать неизменяемый класс данных с несколькими конструкторами. Я чувствовал, что нечто подобное должно быть возможно: data class Color(val r: Int, val g: Int, val b: Int) { constructor(hex: String) { assert(Regex("#[a-fA-F0-6]{6}").matches(hex), { "$hex is not a hex color" } ) ...

классы данных, похоже, являются заменой старомодным POJOs в Java. Вполне ожидаемо, что эти классы позволят наследование, но я не вижу удобного способа расширить класс данных. Мне нужно что-то вроде этого: open data class Resource (var id: Long = 0, var location: String = "") data class Book (var isbn: String...