gpt4 book ai didi

scala - 对一个类型指定多个约束 (Scala)

转载 作者:行者123 更新时间:2023-12-04 06:24:33 25 4
gpt4 key购买 nike

我正在尝试做这样的事情:

abstract class DbFinder[T <: PublicKey with Null]

但是当我尝试将 T 类型的对象返回为 null 时,它无法编译。以前我有:

abstract class DbFinder[T >: Null]

它很高兴让我返回 null。

我想我对第一行代码有点困惑。我想坚持 T extends PublicKey 但 T 可以为 nullable。我该怎么做?

问候

最佳答案

我认为最好的方法是使用一个选项,这样你就可以使用 None 来模拟 null 传递:

abstract class DbFinder{def someMethod(a: Option[PublicKey]): Any = ...}

在您的代码中,Null 约束是多余的,因为每个 Scala 引用类型都继承自 Null,因此您只是声明您需要一个 PublicKey 子类实例。

另外,正如我上面所说,您应该避免在 Scala 中使用 null。

关于scala - 对一个类型指定多个约束 (Scala),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19254452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com