【发布时间】:2014-04-02 00:23:56
【问题描述】:
我对 scala 很陌生,并且在隐式概念上苦苦挣扎。
我有一个定义如下的类:
class SomeClass[A <: AA, B <: BB](val someParameter: String)
我想将这个类与不继承自 AA 和 BB 的其他类型一起使用,如下所示:
val myInstanceOfSomeClass = SomeClass[C, D]
知道 C 和 D(它们是 Java 类,如果有帮助的话)可以通过它们的构造函数转换为 AA 和 BB 实例
def myAInstance(someCValue : C) : A = new A(someCValue)
值myInstanceOfSomeClass 在另一个函数中用作 SomeClass[C, D] 类型的参数。
我知道这与隐式定义有关,但我对语法很迷茫,尤其是我应该在哪里以及如何定义隐式定义...
那么,我如何将 SomeClass 与可以转换为定义类型的其他类型一起使用?
编辑:我无法直接修改SomeClass[A <: AA, B <: BB] 的定义,因为它来自外部库。
【问题讨论】:
标签: scala