如何在Scala中压制“匹配可能不是详尽无遗”的警告?
发布时间:2020-12-16 09:08:21 所属栏目:安全 来源:网络整理
导读:参见英文答案 How to suppress “match is not exhaustive!” warning in Scala????????????????????????????????????4个 我目前正在实现一个内部使用的小工具,它将一组Excel文件中的数据导入我们的应用程序.根据Excel单元格的类型,我决定如何处理数据. Exce
参见英文答案 >
How to suppress “match is not exhaustive!” warning in Scala????????????????????????????????????4个
我目前正在实现一个内部使用的小工具,它将一组Excel文件中的数据导入我们的应用程序.根据Excel单元格的类型,我决定如何处理数据. Excel文件只能包含字符串,数字和布尔单元格,如果遇到任何其他单元格,程序可以在运行时自由崩溃. 现在Scala正确警告我,细胞类型的匹配并不详尽,细胞可以有空白,公式,错误的类型…… 有没有办法如何抑制警告,除了明显的警告?: t match { case STRING => ??? case NUMERIC => ??? case BOOLEAN => ??? case _ => throw new MatchError() // redundant,just to suppress the compile time warning } 解决方法
您可以使用
unchecked注释:
(t: @unchecked) match { case STRING => ??? case NUMERIC => ??? case BOOLEAN => ??? } 正如其他人所提到的,你应该避免使用它,而是相应地选择你的类型以避免这种警告(例如通过使用密封的特征).但是,如果您发现自己无法这样做,并且您有某种不变量可以保证您的类型始终是给定类型之一,那么使用@unchecked可以解决您的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- AngularJS自定义模型对象有方法吗?
- bash – 如何删除数组中的元素,然后在Shell脚本中移动数组?
- scala – 如何使一个正确的关联中缀运算符?
- angular – 确保在测试中填充ngrx存储
- scala – 从Spark错误Upsert到CosmosDB
- yum 安装包时提示:[Errno 5] [Errno 2] No such file or d
- 使用bootstrap datetimepicker在cakephp 3.x中正确保存Date
- postgresql-Docker Tomcat容器无法访问Postgres容器
- Scala中Java 8 Supplier接口的等效代码
- Angular4-在线竞拍应用-引入第三方的库