gpt4 book ai didi

Java 通用接口(interface) List 不接受对象类型

转载 作者:行者123 更新时间:2023-12-01 07:20:35 25 4
gpt4 key购买 nike

我正在尝试实现如下系统:

DtoMapper :这是一个接口(interface),它定义了任何第三方映射器应返回对象的契约(Contract)

    public interface DtoMapper<T> {

/**
* Converts list of T into FooResponse
* @param List of T
* @return FooResponse
*/
FooResponse convertToFooResponse(final List<T> rewards);

FooMapper :实现DtoMapper传递 Bar 的列表作为方法参数,但是编译器不喜欢我对方法实现的重写,并且需要第二个实现(底部)。

public final class FooMapper implements DtoMapper {


@Override
FooResponse convertToFooResponse(final List<Bar> listOfBars) {
... Logic
}

@Override
public convertToFooResponse(final List listOfBars) {
... I dont want this
}

如何使我的界面满足此要求,以便将来可以实现 public convertToFooResponse(final list<Snafu> listOfSnafus); 的另一个实现?

最佳答案

您需要明确实现DtoMapper<Bar>而不是DtoMapper .

示例:

public interface DtoMapper<T> {

/**
* Converts list of T into FooResponse
* @param List of T
* @return FooResponse
*/
FooResponse convertToFooResponse(final List<T> rewards);
}

public class FooMapperImplementation implements DtoMapper<Bar> {
@Override
public FooResponse convertToFooResponse(List<Bar> rewards) {
return null;
}
}

关于Java 通用接口(interface) List<T> 不接受对象类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39389240/

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