2012-02-17 2 views
3

LazySeq를 반환하는 Clojure 함수가 있습니다. REPL에서이 함수를 실행할 때 잘 작동합니다. 그러나, 나는이 같은 자바 코드에서 같은 함수를 호출하려고하면 :ClassCastException Clojure에서 Java로 LazySeq을 반환 할 때

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을 반환하고있어 말한다 : 나는 다음과 같은 예외가

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

을 번호 :

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

여기에 무슨 문제가 있습니까?

답변

3

오류가 발생하면 LazySeq을 반환합니다. 문제는이 코드 세그먼트에서 어디를 볼 수는 없지만 번호에 저장하려고한다는 것입니다.

1

신경 쓰지 마세요. 나는 그 문제를 발견했다. .class 파일의 오래된 버전이 주위에 있습니다.

관련 문제