我有一些Java代码,其定义了两类如下如何将Java类中某些内部类的Class类型传递给Scala?
public class Foo{
/*Some code here*/
private final Bar b = new Bar(); //Object of inner class.
final class Bar{
/*Some code here*/
}
@Override
public Class<? extends SomeClass> getSerializedClass(){
return Bar.class;
}
}
现在我想要通过内部类酒吧的类型Scala中一些其它码。
trait Trait1 {
def func1[B](path: String, overwrite:Boolean= false, value:Int) = {
val converter = new OutputConverter[A, Bar, B] (K,V)
Sink[A, B](path, converter, overwrite)
}
case class Sink[K, B](path: String,
outputConverter: OutputConverter[A, Bar, B],
overwrite: Boolean = false) extends DataSink[A, Bar, B] with SinkSource {
/**Some code here*/
}
难点是我无法更改Java代码。 任何人都可以请告诉我一个方法吗?
你是什么意思'我想通过Class类的内部类Bar到Scala中的其他代码。对不起,我不明白 – Jatin 2014-11-21 09:41:33
Bar'在Java代码中被声明为受保护的。使用Java或其他语言将它传递给另一个类是值得关注的。你可能最好将你需要的东西复制出来并通过。 – 2014-11-21 09:48:12
@Jatin:我想将内部类的类型信息传递给Scala代码中的一个泛型方法。如果我耳朵不够清晰,我很抱歉。 – 2014-11-21 10:04:51