gpt4 book ai didi

Java 泛型 : cant call a function with said generics even though type matches

转载 作者:行者123 更新时间:2023-12-01 17:51:51 26 4
gpt4 key购买 nike

我有这段代码,我使用泛型定义了两个类。 1. 可以具有通用类型数据的部分。 2. 使用某种构建器模式并存储此类部分列表的配置。

运行此代码时会出现编译错误,我不知道为什么。我已经提到了类型。

错误:不兼容的类型:java.util.List>无法转换为java.util.List>

public class Main {
public static void main(String[] args) {

Section<String> section = new Section<>("wow");
List<Section<String>> sections = new ArrayList<>();
sections.add(section);
Config<String> config = new Config<>().setSections(sections);
}

public static class Section<T> {
private T data;

public Section(T data) {
this.data = data;
}

public T getData() {
return data;
}
}

public static class Config<T> {
private List<Section<T>> sections;

public Config() {
}

public Config<T> setSections(List<Section<T>> sections) {
this.sections = sections;
return this;
}
}
}

最佳答案

问题出现在第 7 行,您正在创建新的 Config 并在同一行调用 setSections

所以解决方案有两个:

显式类型:

Config<String> config = new Config<String>().setSections(sections);

拆分操作:

Config<String> config = new Config<>();
conf.setSections(sections);

关于Java 泛型 : cant call a function with said generics even though type matches,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49282387/

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