将[L,R]转换为L和R的公共超类型的值

时间:2016-07-05 11:44:14

标签: scala

如果我的值为Either[A, B]A extends TB extends T,我怎样才能最轻松地获得T类型的值?还有比模式匹配更优雅的东西吗?

2 个答案:

答案 0 :(得分:5)

使用+

merge

答案 1 :(得分:4)

你可以使用fold双方的身份功能 - 将存在的那个:

val e: Either[A, B] = ???
val result: T = e.fold(identity[T], identity[T])