scala - 定义嵌套结构类型
问题描述
我有以下问题:有一个元素列表选项我想通过避免在选项上使用 .get 来将其转换为元素列表。以下是我要更改的代码片段:请知道如何修改它:
val receivedMessages = PubSubClient.getPulledMessages(client,subscriptionFullName,pullRequest).get
store(receivedMessages
.map(x => {
val sm = new PubsubSparkMessage
sm.message = x.getMessage
sm
})
.iterator)
我想替换行中的 .get PubSubClient.getPulledMessages(client,subscriptionFullName,pullRequest).get
此致
解决方案
此功能将完成您想要的:
def listOptToList[T](listOpt: Option[List[T]): List[T] = listOpt.toList.flatten
所以你的代码看起来像:
val receivedMessages = PubSubClient.getPulledMessages(client,subscriptionFullName,pullRequest)
store(listOptToList(receivedMessages.map { x =>
val sm = new PubSubSparkMessage
sm.message = x.getMessage
sm
}).iterator)
推荐阅读
- excel - 更改带有文本的单元格的单元格颜色 - 错误类型不匹配
- vue.js - 如何设置安全性以在 vue.js 中下载文件
- flutter - 如何在flutter中将三个条目放在一行中(设置ui)
- javascript - 为变量赋值的动态目标
- javascript - Antd DatePicker 日期在 onChange 函数中没有变化
- java - java:不兼容的类型:推理变量 RR 具有不兼容的界限
- c++ - WINAPI/C++:鼠标悬停在任何孩子上都不起作用——可能是什么原因?
- javascript - 为什么我的 jquery 只在第二次点击时执行?
- codenameone - scrollComponentToVisible 在 android 上的 codenameone 中不起作用,键盘打开
- typescript - 无法使用 TypeScript 导入 Yarn 工作区子目录