나는 다음과 같은 클래스가 있다고 가정높은-kinded 제네릭
public class FixExpr {
Expr<FixExpr> in;
}
가 지금은 EXPR의 사용에 추상화, 일반적인 인수를 소개합니다 :
public class Fix<F> {
F<Fix<F>> in;
}
을하지만 이클립스 '아무튼를 이런 식으로 :
유형 F는 일반적인 것이 아닙니다. <F> >
수정 < 인수와 함께이 전혀 가능 매개 변수화 할 수 없거나 나는이 특정 인스턴스가 중단됩니다 뭔가를 간과?
일부 배경 정보 : 하스켈에서는 일반적인 함수를 작성하는 일반적인 방법입니다. 나는 이것을 자바로 포팅하려고 노력하고있다. 위의 예제에서 type 인수 F는 일반적인 종류 * 대신 * -> *를 사용합니다. 하스켈 그것은 다음과 같다 : 타입 파라미터를 전달하기 위해
newtype Fix f = In { out :: f (Fix f) }
이 함께 해결하려고하는 실제 문제가 무엇입니까? 템플릿을 사용하여 더 쉽게 해결할 수 없습니까? – KitsuneYMG