为什么不在Scala中设置方法强制执行类似的类型?
发布时间:2020-12-16 10:06:49 所属栏目:安全 来源:网络整理
导读:请考虑以下示例 val strings = Seq("foo","bar")val numbers = Seq(1,2,3)strings.diff(numbers) 这是有效的代码(并导致一个空列表),但为什么scala不会发现我们正在比较不同类型的集合? 似乎有一个类型绑定B:A为intersect,diff和union定义,但不知何故它不
请考虑以下示例
val strings = Seq("foo","bar") val numbers = Seq(1,2,3) strings.diff(numbers) 这是有效的代码(并导致一个空列表),但为什么scala不会发现我们正在比较不同类型的集合? 似乎有一个类型绑定B>:A为intersect,diff和union定义,但不知何故它不会导致编译器拒绝我的示例为无效. 在scala中是否有类型严格/安全的方法来设置操作? 解决方法
因为Seq是
covariant type(
+A )
如果你想要与stricted类型区分,你可以通过以下方式尝试: strings.diff[String](numbers) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- scala – SBT中范围库依赖关系的具体语法?
- BootStrap下的弹出框加载select2框架失败的解决方法
- 从shell脚本函数返回单个值
- 对bootstrap$、数据字典结构信息和open相关性的研究
- 在scala中使用enrich-my-library的最佳方法是什么?
- 泛型 – 为什么Scala不能在此示例中推断出类型参数?
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:禁用按
- WebService之Axis2快速入门(5): 管理会话(Session)
- angularjs – 为什么在期望POST主体中的数据时需要FromBody
- shell脚本操作oracle表空间的导出,用户的删除,表空间删除