首页 > 解决方案 > 从 REST API 消费数据时,生成数据类还是简单的普通类更好?

问题描述

假设我有一个 API,它将返回有关用户信息的响应:

在普通类中,我将创建一个 UserInfo 类:

class UserInfo (val username:String, val age:String)

但是我发现很多人建议它应该是一个数据类(其中一部分人建议它必须是):

data class UserInfo (val username:String, val age:String)

AFAIK,无论 UserInfo 是否是数据类,默认情况下它都是public final,它会自动生成默认也是public final的属性的 getter 函数,并且不能为属性分配任何值。

我知道数据类会自动生成/覆盖有用的函数,如copy()toString()equals()。如果只需要获取UserInfo类的姓名和年龄值,不需要比较UserInfo的相等性,还需要声明为数据类吗?

标签: kotlin

解决方案


我还建议使用数据类。如果没有hashCodeequals正确指定,您将无法安全地UserInfo在 Collections 中使用。


推荐阅读