data class中字段很多场合

来源:7-8 数据类 data class

weixin_慕丝4457541

2023-05-30

data class中只让定义val,但是字段又很多的时候,在实例data class时候有什么好方法吗?

写回答

1回答

bennyhuo

2023-05-30

可以定义var。不过优先考虑定义成val,因为不变会减少很多意外的错误。
0
4
bennyhuo
回复
weixin_慕丝4457541
如果不在构造的时候传入这些值,那么构造出来的a1里面的字段在使用a1时就可能没有被初始化,这是一个风险点,这里要求构造的时候传入,实际上就是为了保证一致性。Java的set,我猜同学说的就是先构造出一个对象,然后再一个一个去set字段,请同学想想,这样的话是不是就不是val了?如果想要在Java里面实现类似的需求,实际上也要在构造器里面传入所有参数值的。Java还有个record的类型,与Kotlin的数据类很类似,同学有兴趣可以了解一下,也需要构造的时候传入所有值。另外,如果想要实现类似set的写法,就不要用数据类了,使用普通类即可。
2023-05-30
共4条回复

学会Kotlin 突破开发语言瓶颈

如果有一门语言可以取代Java,那么它一定是Kotlin。

1760 学习 · 481 问题

查看课程