gpt4 book ai didi

java - 通用方法无法编译 - 该方法不适用于参数

转载 作者:行者123 更新时间:2023-11-29 10:15:48 24 4
gpt4 key购买 nike

这是我的代码。编译器拒绝编译它:

private transient List<? extends Map<String, Object>> donnees;

// ...

public <M extends Map<String, Object>> void addDonnee(M nouvelleDonnee) {
getDonnees().add(nouvelleDonnee);
}

public List<? extends Map<String, Object>> getDonnees() {
// ...

return donnees;
}

为什么会出现此错误?

The method add(capture#4-of ? extends Map<String,Object>) in the type List<capture#4-of ? extends Map<String,Object>> is not applicable for the arguments (M)

编辑这是我如何解决我的问题:

private transient List<Map<String, Object>> donnees;

// ...

public void addDonnee(Map<String, Object> nouvelleDonnee) {
getDonnees().add(nouvelleDonnee);
}

public List<Map<String, Object>> getDonnees() {
// ...

return donnees;
}

现在编译器很高兴! :)

最佳答案

?M 都是子类,不能相互转换。尝试声明 donnees:

private transient List<Map<String, Object>> donnees;

关于java - 通用方法无法编译 - 该方法不适用于参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18379532/

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