2017-04-03 8 views
3

내가 가지고있는 다음과 같은 클래스 :XYZ는의 범위 내에 있지 않은 타입 변수 T

public class Blub extends AbstractPreloadDefinition<AddressmasterModel> 

javac 컴파일러는 나에게 다음과 같은 오류를 제공합니다 다음과 같이

Error:(15, 79) java: type argument AddressmasterModel is not within bounds of type-variable T

AbstractPreloadDefinition 보인다 :

abstract class AbstractPreloadDefinition<T extends PersistedEntity<?>> implements PreloadDefinition<T> 

AddressmasterModel은 다음과 같습니다.

public abstract class AddressmasterModel<V extends VoucherModel> implements Serializable, Auditable, PersistedEntity<Integer>, Comparable<AddressmasterModel<V>> 

따라서 AddressmasterModelPersistedEntity을 구현합니다. 오류가 어디 있습니까? 나는 그것을 찾을 수 없습니다 : 내가 IntelliJ에 2017.1 컴파일러로 및 javac의를 사용하고/

. 내가 컴파일러로 일식 로 전환하면이 오류가 난 당신이 PersistedEntity<Something>하지 PersistedEntity을 확장 할 필요가 있다고 생각 ...

+0

VoucherModel의 정의를 추가하십시오. 더 나은 아직, MCVE를 만들 수 – Arkadiy

+0

'PreloadDefinition'은 어떨까요? – walen

+0

누락 된 클래스의 컴파일 오류를 자동으로 해결 한 후 ** 경고 **가 표시됩니다. * AddressmasterModel은 원시 형식입니다. 제네릭 타입'AddressmasterModel '에 대한 참조는 매개 변수화되어야합니다. *. @ d-m처럼이 경고를 수정할 수 있습니다. 그렇지 않으면 [sscce] (http://sscce.org/)를 만드십시오. –

답변

5

사라 졌어요. 작동 방식 :

class Blub extends AbstractPreloadDefinition<AddressmasterModel<VoucherModel>>