0

我正在尝试将实现 DomainEntity 的对象集合转换为实现 DomainEntityDTO 的对象集合。DomainEntity 对象提供了一个 toDTO() 方法来进行转换。

这是我的代码。

public class EntityCollectionConverter<T  extends DomainEntityDTO, Y extends DomainEntity> {

    public Collection<T> convert(Collection<Y> collection){

        Collection<T> dtoList = new ArrayList<>();
        for (DomainEntity domainObject : collection) {
            DomainEntityDTO dto = domainObject.toDTO();
            dtoList.add(dto); // Compiler: "T cannot be applied to DomainEntityDTO"
        }
        return dtoList;

    }
}

该行dtoList.add(dto);无法编译,因为“T 不能应用于 DomainEntityDTO”。

接口 DomainEntity 如下所示:

public interface DomainEntity {
    Long getId();

    <T extends DomainEntityDTO> T toDTO();
}

知道我哪里出错了吗?

4

1 回答 1

0

您需要声明您的变量类型T

于 2013-10-27T13:16:55.150 回答