Junior — Middle
What are the main requirements to consider when developing a data class?
sobes.tech AI
Answer from AI
When developing a data class in Android (or in any object-oriented language), it is important to consider the following requirements:
- Encapsulation: class fields should be private, and access to them should be through getters and setters to control data modification.
- Immutability (if possible): if the class is intended to store data without changes, it should be made immutable, for example, by declaring fields as final and not providing setters.
- Overriding equals() and hashCode() methods: for correct comparison of objects and their use in collections.
- Overriding toString(): for convenient output of object information.
- Serialization: if the data class needs to be passed between components (for example, via Intent), it should implement Parcelable or Serializable.
- Minimize logic: the data class should contain only data and simple access methods, without business logic.
Example of a simple data class in Kotlin for Android:
data class User(val id: Int, val name: String, val email: String)
This class automatically provides equals(), hashCode(), toString(), and copying, which is convenient for storing and transferring data.