我正在尝试将类型M的x元素分配给option [M],但出现错误:
def find(id: Int): Option[M] = dbTable.instances(id)//instances is Map[int,M]
type mismatch;
[error] found : M
[error] required: Option[M]
[error] def find(id: Int): Option[M] = dbTable.instances(id)
[error] ^
[error] one error found
[error] (Compile / compileIncremental) Compilation failed
[error] Total time: 8 s, completed Apr 26, 2019, 1:11:13 PM
答案 0 :(得分:1)
尝试
def find(id: Int): Option[M] = Some(dbTable.instances(id))
(或
def find(id: Int): Option[M] = Option(dbTable.instances(id))
如果dbTable.instances(id)
可以为null
)。
如果a
的类型为A
,则Some(a)
的类型为Option[A]
。
答案 1 :(得分:0)
Scala Map api使用.get
方法支持此功能。
def find(id: Int): Option[M] = dbTable.instances.get(id)