Приведение объектов Java из JRuby

Я работаю с библиотекой Java в JRuby. Я читаю объект из файла, и мне нужно передать его как объект другого типа во второй конструктор:

@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 к правильному типу?

1 ответ

Решение

Итак, я не очень яркий. Интерфейс JVM JRuby достаточно умен, чтобы привести себя в порядок, я неправильно звонил конструктору. Фактический звонок:

@tagger = HmmDecoder.new(@hmm_model.readObject())

и JRuby правильно обрабатывает преобразование типов в HiddenMarkovModel.

JRuby: 1 я: 0

Другие вопросы по тегам