题
我在JRuby的一个Java库工作。我从文件中读取的对象,并且我需要它传递作为不同对象类型的第二构造函数:
@hmm_model = ObjectInputStream.new(FileInputStream.new(LINGPIPE_MODEL_PATH))
@tagger = HmmDecoder.new(@hmm_model)
@hmm_model是类型ObjectInputStream的的,并且需要被转换为(HiddenMarkovModel)。显然,这会很容易在Java中,这纯粹是:
@tagger = HmmDecoder.new((HiddenMarkovModel)@hmm_model)
但是,当然,这并不JRuby中工作。是否有任何实际的方式来显式转换@hmm_model是正确的类型?
解决方案
所以,我不是很亮。 JRuby的JVM界面是足够聪明的投本身,我正在调用构造函数不正确。实际的呼叫是:
@tagger = HmmDecoder.new(@hmm_model.readObject())
和JRuby正确处理类型转换到一个HiddenMarkovModel。
的JRuby:1 我:0
不隶属于 StackOverflow