개찰구 8 개찰구 setDefaultModel는 setDefaultModel와 충돌한다

mrkernelpanic :

개찰구 7 개찰구 8로 업그레이드 후, 나는 인 IntelliJ에서 여러 삭제 경고를 encounterd.

예를 사용하는 경우 AjaxLinkIntelliJ에 불평

'org.apache.wicket.IGenericComponent'에서 'setDefaultModel (IModel 해당 모델)'와 'org.apache.wicket.MarkupContainer'충돌에서 'setDefaultModel (IModel 해당 모델)'; 두 방법 모두 같은 삭제가 아직 어느 쪽도 다른 사람을 무시하지

나는 그것에 대해 할 수있는 일이 있나요?

제론 Steenbeeke :

이 오류는 제공하지 않을 때 발생 AjaxLink하는 일반적인 유형입니다. 당신이 할 때 오류가 발생합니다 :

new AjaxLink("id")

대신 같은의 :

new AjaxLink<Void>("id")

AjaxLink는 다음과 같이 정의되어있다 :

public abstract class AjaxLink<T> extends AbstractLink implements IAjaxLink, IGenericComponent<T, AjaxLink<T>>

조상 클래스는 MarkupContainer, 정의합니다 :

public MarkupContainer setDefaultModel(final IModel<?> model)

그리고 그것은 구현 IGenericComponent제네릭 형식이있는 <T, C extends IGenericComponent<? super T, ?>>유형을 할당 <T,AjaxLink<T>>하고 방법을 정의를 :

Component setDefaultModel(IModel<?> model);

지금, 나는 완전히 있는지 내가 충분히 문제를 이해한다면 모르겠지만, 어떻게 든 일반적인 유형의 부족으로 인해, 컴파일러의 구현이 있음을 알아낼 수 없습니다 MarkupContainer(이 반환 MarkupContainer)에 정의 된 방법에 공변입니다 IGenericComponent.

추천

출처http://43.154.161.224:23101/article/api/json?id=119317&siteId=1