2017-10-23 7 views
1

Jruby에서 비슷한 Java 클래스를 작성하는 중 현재 문제가 있습니다.일반 자바 클래스를 jruby에서 일반 호출

예 : 자바에서

: JRuby에서에서

public class Client extends ClientConnection<ChannelType> { 

    //do some stuff 

} 

:

class Client < Java::'package_name'::ClientConnection 

//do some stuff 

end 

JRuby를 코드 동안 ChannelType 클래스를 전달하는 방법을 몰라 클린을 다시 쓰다. t 클래스

답변

0

짧은 버전은 불행히도 없습니다.

JRuby를 위키 (https://github.com/jruby/jruby/wiki/CallingJavaFromJRuby#beware-of-java-generics) 여기 등을 설명합니다

자바 클래스는 자바 제네릭로 정의 된 경우

이 유형은 이전 버전과의 호환성을 위해 컴파일시 삭제됩니다. 결과적으로 JRuby는 자동 유형 변환에 문제가 있습니다. 예를 들어 Map을 가지고 있다면 그것은 단순한 Map으로 보여 질 것이고, JRuby는 reflection을 사용하여 정확한 타입을 결정할 수 없을 것입니다.