面试题答案
一键面试class Person(
val name: String,
val age: Int,
val address: String
)
class PersonBuilder {
private var name: String? = null
private var age: Int? = null
private var address: String? = null
fun name(name: String): PersonBuilder {
this.name = name
return this
}
fun age(age: Int): PersonBuilder {
this.age = age
return this
}
fun address(address: String): PersonBuilder {
this.address = address
return this
}
fun build(): Person {
checkNotNull(name) { "Name is required" }
checkNotNull(age) { "Age is required" }
checkNotNull(address) { "Address is required" }
return Person(name, age, address)
}
}
使用示例:
fun main() {
val person = PersonBuilder()
.name("John")
.age(30)
.address("123 Main St")
.build()
println(person)
}