내가 게임에 대한 몇 가지 인터페이스를 개발하고 내가 지금까지 다음과 같은 인터페이스 정의에 온에서 클래스를 확장 :유형 인수를 추론하는 방법은 무엇입니까? 인터페이스 선언
public interface Player<A extends Action, R extends Result> { }
public interface Game<P extends Player<? extends Action, ? extends Result>> { }
을 그러나 지금을 I Game
인터페이스에서 ? extends Result
에 액세스하고 싶습니다. 세 가지 일반 유형을에 추가하면됩니다.하지만 정보가 이미 있으므로 필요하지 않습니다. 나는이 같은 <A, R>
을 정의 할 수
public interface <A, R> Game<P extends Player<A extends Action, R extends Result>> { }
이 코드는하지만 자바 (자바 8) 법적되지 않습니다 :
는 나는 다음과 같은 일을 할 것입니다.
어떻게해야합니까?
원하는 것은 분명하지 않습니다. 'Game' 인터페이스를 수정하고 있습니까? 그렇다면 인터페이스 이름 앞에 ''이 없습니다. 이것은 자신의 일반적인 매개 변수를 가진 메소드에만 사용됩니다. – chrylis
@chrylis'Player'에서 이미 정보를 올바르게 캡쳐하는 적절한'Game' 인터페이스를 찾으려고합니다. 메소드에서 나중에 사용할 수 있도록 ''유형이 필요합니다. – skiwi
당신은 이미 방법을 알고 있습니다 - 3 가지 일반적인 유형을 선언하십시오. 나는 가능한 다른 방법을 찾지 못한다. –