2
我对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]
的定义,因为它来自外部库。
对不起,我觉得这不是在我的岗位清楚,但我不能改变的'类SomeClass的定义[A <:AA ,B <:BB](val someParameter:String)'。这就是我所说的“我想用这种方式使用类:'val myInstanceOfSomeClass = SomeClass [C,D]'。我正在编辑这个问题。 – user3485809
然后你运气不好,必须明确地应用转换(当然这不需要是一个“隐含的”) –
嗯......我想我可以让它成为......不管怎样,谢谢!我应该接受你的回答吗? – user3485809