类型完全匹配,但Java编译器赢了';t为列表编译<;类型>;? private ResourceAssembler方法ResourceAssember.toResources(…)的声明行看起来像什么?不,我不是,只有一个类两次出现?扩展
类型完全匹配,但Java编译器赢了';t为列表编译<;类型>;?类型完全匹配,但Java编译器赢了';t为列表编译<;类型>;? private ResourceAssembler方法ResourceAssember.toResources(…)的声明行看起来像什么?不,我不是,只有一个类两次出现?扩展,java,generics,Java,Generics,类型完全匹配,但Java编译器赢了';t为列表编译<;类型>;? private ResourceAssembler方法ResourceAssember.toResources(…)的声明行看起来像什么?不,我不是,只有一个类两次出现?扩展基本身份引用未知类型。这两种类型都可分配给BasedEntity,但不能保证两者都引用相同的类型。要声明它是相同的,向周围的实体添加一个类型变量并使用它,例如class Main和classResourceAssembler ResourceA
private ResourceAssembler方法ResourceAssember.toResources(…)
的声明行看起来像什么?不,我不是,只有一个类两次出现?扩展基本身份
引用未知类型。这两种类型都可分配给BasedEntity
,但不能保证两者都引用相同的类型。要声明它是相同的,向周围的实体添加一个类型变量并使用它,例如class Main
和classResourceAssembler ResourceAssembler代码>和列表库
方法ResourceAssember.toResources(…)
的声明行是什么样子的?不,我不是,只有一个类同时出现?扩展基本身份
引用未知类型。这两种类型都可分配给BasedEntity
,但不能保证两者都引用相同的类型。要声明它是相同的,向周围的实体添加一个类型变量并使用它,例如class Main
和classResourceAssembler ResourceAssembler代码>和列表库代码>
private ResourceAssembler<? extends BasedEntity> resourceAssembler;
List<? extends BasedEntity> bases = userRepository.findAll();
return resourceAssembler.toResources(bases, User.class); //<-----compile error
Wrong 1st argument type. Found: 'java.util.List<? extends BasedEntity>', required: 'java.util.List<? extends BasedEntity>'
public class ResourceAssembler<T extends BasedEntity> {
public Resources<Resource<T>> toResources(List<T> list, Class entityClass) {}
}
class Main {
ResourceAssembler<? extends BasedEntity> resourceAssembler;
List<? extends BasedEntity> bases;
void test() {
resourceAssembler.toResources(bases);
// the error is here: ^~~~~
}
}
class BasedEntity {}
class ResourceAssembler<T extends BasedEntity> {
void toResources(List<T> list) {}
}