На другой день я заметил, что иногда я поставил data
перед object
s- и другие времена: неВ чем разница между объектом и объектом данных?
object A
data object B
Какая разница между object
и data object
?
На другой день я заметил, что иногда я поставил data
перед object
s- и другие времена: неВ чем разница между объектом и объектом данных?
object A
data object B
Какая разница между object
и data object
?
Тот факт, что data
разрешен для объявления объекта, на самом деле является ошибкой (KT-6486), которая должна быть исправлена.
data
является аннотаций, который вызывает компилятор для генерации equals
, hashCode
, toString
, copy
и componentN
функции. Это не имеет особого смысла при применении к объявлению объекта по двум причинам:
Так нет componentN
функции не будет генерироваться, copy
не может работать, и сгенерированные equals
/hashCode
/toString
реализация будет эквивалентна, используемыми по умолчанию из Any
, которые основаны на идентичности.