gpt4 book ai didi

java - Wicket 8 wicket setDefaultModel 与 setDefaultModel 冲突

转载 作者:行者123 更新时间:2023-12-01 14:07:55 27 4
gpt4 key购买 nike

从 Wicket 7 升级到 Wicket 8 后,我在 IntelliJ 中遇到了多个删除警告。

例如当使用 AjaxLink IntelliJ 提示

'setDefaultModel(IModel model)' in 'org.apache.wicket.MarkupContainer' clashes with 'setDefaultModel(IModel model)' in 'org.apache.wicket.IGenericComponent'; both methods have same erasure yet neither overrides the other

我能做些什么吗?

最佳答案

不给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 中定义的方法协变.

关于java - Wicket 8 wicket setDefaultModel 与 setDefaultModel 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51931500/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com