不编译的简单通用函数
Simple generic function which doesn't compile
请看一下 Scala 中的这个函数并告诉我为什么它不能编译。
def alternative_identity[A <: Any, B <: Any](obj: A): B = {
obj
}
我知道这个函数本身没有意义,但是我正在尝试解决更复杂的问题,这个例子说明了我遇到的基本问题。提前致谢!
它无法编译,因为 obj
是 A
类型的对象,而您 return 从 return 类型为 [=12= 的函数中获取它]
即使 A
和 B
是 Any
的子类型,也无法知道 B
是否是 [=11] 的基础 class =].
例如,String
和 Int
是 Any
的子类型,但它们不能互换使用。
请看一下 Scala 中的这个函数并告诉我为什么它不能编译。
def alternative_identity[A <: Any, B <: Any](obj: A): B = {
obj
}
我知道这个函数本身没有意义,但是我正在尝试解决更复杂的问题,这个例子说明了我遇到的基本问题。提前致谢!
它无法编译,因为 obj
是 A
类型的对象,而您 return 从 return 类型为 [=12= 的函数中获取它]
即使 A
和 B
是 Any
的子类型,也无法知道 B
是否是 [=11] 的基础 class =].
例如,String
和 Int
是 Any
的子类型,但它们不能互换使用。