Thomas
07/16/2024, 6:33 AMfun main() {
    val a = A(1)
    val b = B(2)
    
    println(b.toA()) //A(a=2)
    println(A.fromB(b)) //A(a=2)
}
data class B(val b: Int)
data class A(val a: Int){
    //1. "static converter" function
    companion object{
        fun fromB(b: B): A = A(b.b)
    }
}
//2. extension function
fun B.toA() = A(this.b)Thomas
07/16/2024, 6:36 AMJoffrey
07/16/2024, 6:57 AMStringThomas
07/16/2024, 7:03 AMSetting.from(choice)Setting.DEFAULTSetting.OPTION_ASetting.OPTION_BJoffrey
07/16/2024, 7:06 AMRob Elliot
07/16/2024, 8:33 AMb?.toA()if (b != null) A.from(b) else nullphldavies
07/21/2024, 4:18 PMb?.let(A::from)Rohde Fischer
07/26/2024, 9:54 AMdata class Foodata class FooDtoFoo(...).toDto()Foo