Kotlin Assigment运算符重载和类型转换

时间:2018-12-06 21:21:58

标签: types kotlin overloading operator-keyword

如何重载赋值运算符以在两个不同的类之间进行转换?

class A
class B

val bb: B = B();
val aa: A = bb;

1 个答案:

答案 0 :(得分:1)

Kotlin仅支持某些预定义运算符的重载。请参阅此文档here

您尝试做的事是不可能的,您无法将B分配给类型A的变量,除非它们的类型层次结构允许如下所示:

open class A
class B : A()

val bb: B = B()
val aa: A = bb