如何在Kotlin中简便地将类参数设置为属性?
Kotlin中快速将构造器参数转为类属性的方法
当然有更简洁的实现方式——直接在主构造器的参数前添加val或var修饰符,Kotlin会自动帮你完成属性的声明和初始化,完全不需要手动写init块或者重复定义属性。
只读属性(推荐,适配大部分场景)
如果属性不需要被修改,用val声明,生成的是只读属性:
class Person(val firstName: String, val lastName: String) val bob = Person("Bob", "Smith") print(bob.firstName) // 正常输出"Bob"
可修改属性
如果需要后续修改属性值,用var声明:
class Person(var firstName: String, var lastName: String) val bob = Person("Bob", "Smith") bob.firstName = "Robert" // 可以修改属性值 print(bob.firstName) // 输出"Robert"
对比你原来的写法
你之前的写法不仅冗余,还没必要把属性设为可空类型(String?)——因为构造器参数是必填的非空String,初始化后属性必然有值,完全不需要用可空类型。
额外补充:如果某个构造器参数只需要在类内部使用,不需要对外暴露为属性,那可以不加val/var,它就只是一个构造器参数,无法通过实例访问。
内容的提问来源于stack exchange,提问作者worstDev
相关产品推荐
相关产品推荐

