kotlin - 从 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的相等性,还需要声明为数据类吗?
解决方案
我还建议使用数据类。如果没有hashCode
并equals
正确指定,您将无法安全地UserInfo
在 Collections 中使用。
推荐阅读
- jestjs - 如何运行没有 .test 的 jest 文件。在他们的文件名中?
- mysql - 在mysql中从where命令中选择有问题
- tkinter - 不能从另一个函数中调用一个函数
- c# - 如何设置按钮以在单击时自动为数组分配数字?
- spring - 引起:java.lang.ClassNotFoundException:org.springframework.core.io.support.SpringFactoriesLoader
- excel - 未知表中的范围
- wordpress - 按订单获取付款类型
- python - 在 py.test 中捕获异常并引发错误时抑制第一个异常
- javascript - 在 Vue.js 手表中动画 css 属性,性能问题
- javascript - JSON 解析器如何编码不在基本多语言平面中的 unicode 字符?