2012-02-17 3 views
3

У меня есть функция Clojure, которая возвращает LazySeq. Когда я запускаю эту функцию из REPL, она работает нормально. Однако, если я пытаюсь вызвать ту же функцию из кода, как это:ClassCastException при возврате LazySeq из Clojure в Java

Object result = com.acme.forecast.core.runforecast("file1.csv", "file2.txt"); 

я получаю следующее исключение:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: 
    clojure.lang.LazySeq cannot be cast to java.lang.Number 
    at com.acme.forecast.core.runforecast(Unknown Source) 
    at com.acme.forecast.client.gui.ClientGUI.actionPerformed(ClientGUI.java:180) 

Мой генераторной класс говорит, что я возвращающая LazySeq, не Номер:

(:gen-class 
    :name com.acme.forecast.core 
    :methods [#^{:static true} [runforecast [String String] clojure.lang.LazySeq]]) 

Что поделать ошибка?

ответ

3

Ошибка говорит, что вы возвращаете LazySeq. Проблема заключается в том, что он пытается получить данные в Number, хотя я не вижу, где в этом сегменте кода.

1

Ничего. Я нашел проблему. Рядом лежала старая версия файла .class.

Смежные вопросы